Java

[Java/자바]메서드에 알아보기

둥구는 지굴다 2022. 9. 26. 20:45

안녕하세요 오늘 포스팅할 주제는 자바에서 사용되는 메서드에 대해 알아보겠습니다.

바로 들어가시죠

메서드의 정의

메서드는 여러 명령들의 나열된 묶음입니다.

입력 값을 받아서 내부에서 처리 후 결과를 출력 또는 반환하는 역할을 합니다.

저희가 지금까지 사용한 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을 출력하게 될 것입니다.

출력 결과

예상대로 잘 나온 것을볼 수 있네요.


자 이상으로 오늘은 메서드에 대해 알아보았습니다. 사실 오늘 알아본 메서드는 정말 기초적인 부분이고 

좀 더 복잡한 식이 나오면 머리가 아파집니다. 이러한 부분은 예제 문제를 조금씩 풀면서 실력을 늘리길 바랍니다.

이상으로 포스팅 마치겠습니다!

긴 글 읽어주셔서 감사합니다~