[Java/자바]메서드에 알아보기
안녕하세요 오늘 포스팅할 주제는 자바에서 사용되는 메서드에 대해 알아보겠습니다.
바로 들어가시죠
메서드의 정의
메서드는 여러 명령들의 나열된 묶음입니다.
입력 값을 받아서 내부에서 처리 후 결과를 출력 또는 반환하는 역할을 합니다.
저희가 지금까지 사용한 System.out.println( ) 출력 기능 또한 메서드의 하나입니다!
자바가 미리 설정해둔 메서드인 것이지요.
메서드의 특징
메서드는 멤버 함수(member function)이라고도 불립니다.
클래스 내부에서 생성해주어야 합니다.
메서드의 사용목적
여러 명령들을 하나의 이름으로 호출(사용) 함으로써,
한 번에 명령을 내리고자 사용하는 것이 바로 메서드입니다.
메서드의 구조
반환타입 메서드명(타입 변수명, 타입 변수명) {
명령1;
명령2;
return값;
}
메서드의 구조는 크게
- 반환 타입
- 메서드명
- 매개변수
- 명령
- return
이렇게 5가지 정도가 있습니다.
여기서 메서드명이나 명령은 따로 설명할 것은 없으니 넘어가고
아래에 매개변수, return, 반환 타입을 좀 더 알아보도록 해요.
메서드의 호출부
메서드의 호출부는 우리가 만든 메서드를 사용하겠다 라는 의미입니다.
메서드명( );
메서드의 예시
public class Method1 {
public static void main(String[] args) {
open(); //호출부
}
//구현부
static void open(){
System.out.println("문을열기");
System.out.println("바닥청소");
System.out.println("포스기켜");
System.out.println("빵을진열");
}
}
이렇게 메서드는 메인 함수 밖에 만들어 주어야 합니다.
따라서 open이라는 함수를 만들어준 뒤
다양한 문장들을 출력하는 메서드를 만들어 주었습니다.
그리고 메인 함수 내부에 open( ); 메서드명과( );를 입력하여 open이라는 메서드를 호출해 주었습니다.
출력 결과
자 이렇게 기본적인 메서드를 만들어 보았는데요 메서드의 호출부에는 값을 메서드에 전달할 수도 있답니다.
그 역할을 하는 게 바로 매개변수이죠
매개변수
함수의 호출부에서 구현부로 전달하고 싶은 값이 있을 때 전달할 값을 저장할 공간입니다.
즉, 저희가 계산기 메서드를 만들었는데 계산을 하려면 값을 호출부에서 넣어주어야겠죠?
따라서 그 값을 저장하는 친구가 매개변수라는 친구입니다.
메서드에서 매개변수 사용 예시
public class Method2 {
public static void main(String[] args) {
f1(100);
f1(200);
f1(300);
}
static void f1(int x) { //함수 호출시 100을 전달받아서, 전달받은 100을 출력하기
System.out.println("x:"+x);
}
}
fi( ) 괄호 안에 int x라는 변수를 선언해 놓았네요
여기서 매개변수는 int x죠 이 매개변수는 이제 fi함수를 호출했을 때 괄호 안에 값을 넣으면 int x에 값이 전달됩니다.
출력 결과
return 값 이란?
함수에 구현된 모든 명령을 실행한 뒤
함수가 갖게 될 결과 값을 의미합니다.
흠.. 이렇게 설명드리니까 뭔가 이해가 갈듯 말듯하죠?
예시를 봐로 보도록 하죠
메서드에서 return 값 사용 예시
public class Method3 {
public static void main(String[] args) {
System.out.println(f()); //f( )메서드 자체를 출력
}
static int f() {
System.out.println("f()호출!");
return 100;
}
}
우선 먼저 설명을 드리자면 return 값을 알기 위해서는 반환 타입을 알아야 합니다.
static 옆에 int 보이시죠? 이 int 가 반환 타입입니다.
return 하는 변수 타입과 반환 타입이 꼭 같아야 합니다.
자 이제 f( ) 메서드를 설명드리자면
우선 "f( ) 호출!"을 출력하는 명령어가 있네요
그리고 return 100; 100을 return 하네요?
자 이제 이 100이라는 값은 어디로 갈까요.
바로 호출한 부분 즉 System.out.println(f()); f( ); 이 호출부 부분으로 갑니다.
따라서 출력 값을 예상해 보자면 f( ) 호출! 을 출력하고 100을 출력하게 될 것입니다.
출력 결과
예상대로 잘 나온 것을볼 수 있네요.
자 이상으로 오늘은 메서드에 대해 알아보았습니다. 사실 오늘 알아본 메서드는 정말 기초적인 부분이고
좀 더 복잡한 식이 나오면 머리가 아파집니다. 이러한 부분은 예제 문제를 조금씩 풀면서 실력을 늘리길 바랍니다.
이상으로 포스팅 마치겠습니다!
긴 글 읽어주셔서 감사합니다~
