비전공자의 개발과 친해지기/메서드

[JAVA : 메서드]1. 메서드

justdoIT0730 2022. 4. 10. 20:47
728x90
728x90

- 메서드의 기본

 메서드는 함수와 같은 역할을 하며 프로그래밍 과정에서 코드의 간결성을 높여줍니다.

 

 

 

 위 그림과 같이 변수 혹은 상수를 입력하면 메서드 내부에서 연산을 거친 뒤 결괏값을 출력합니다. 즉, 메서드에는 입력과 출력이 존재합니다. 이 개념을 좀 더 자세히 설명하며 메서드와 관련된 용어 및 몇 가지를 짚어보겠습니다.

 

 

 입력 매개변수 혹은 파라미터(Parameter)라고 부릅니다. 입력은 전혀 없을 수도, 무한히 많을 수도 있으며 void를 제외한 모든 자료형을 파라미터로 사용할 수 있습니다. 이때 매개변수로 선언된 변수들은 메서드 내에서 지역변수(지정된 범위 안에서만 사용할 수 있는 변수)처럼 사용할 수 있습니다.

 

 

 출력 return value(리턴 값)이라고 부르며, 메서드가 종료된 뒤 최종으로 남는 결과 값을 뜻합니다.

 

 

 

 메서드는 아래와 같은 기본 구조로 이루어져 있습니다.

  1. 메소드 리턴 값의 자료형
  2. 메소드 이름
  3. 매개변수
  4. 메소드 내용
  5. return

 

 

import java.io.*;
class Main {
	
	public static	int add(int a, int b) {
	
		int result = a+b;
	
		return result;
	}

	public static void main(String[] args) throws Exception {
		System.out.print(add(4, 6));
	}
}

 

 위 예제 코드에서 4 ~ 9 번째 줄이 메서드에 해당하는 부분입니다. int 형 매개변수를 두 개 받아 더한 뒤 그 값을 리턴하는 기능을 수행합니다.

 

  1. return 값은 int 형을 가지며
  2. 메소드 이름은 add 이고
  3. 매개변수로 int 형 변수 a 와 b 를 입력받습니다.
  4. 메소드 내용은 a 와 b 를 합한 값을 int 형 result 변수에 저장하고
  5. result 변수 값을 return 합니다.

 

 위와 같이 메서드를 만들고 메소드 내용을 코딩하는 것을 "메서드 정의"라고 합니다.

 

 

 이렇게 메서드를 정의한 뒤 그 메소드를 사용하고 싶으면 main 안에 위치한 12번째 줄을 살펴봅시다. 이제까지 자주 사용하던 System.out.print 에서 출력하고자 하는 부분에 메소드 이름, 괄호, 숫자가 작성되어 있습니다.

 

 즉, 메소드를 사용하려면 메소드 이름과 매개변수를 묶는 괄호, 매개변수 자료형에 알맞는 데이터가 필요합니다. 

 

 

 

 

 

 return(리턴) 메서드의 종료를 의미하는 용어입니다. 프로그램의 코드를 읽어오다가 return을 만나게 되면, 해당 메서드는 return 다음에 작성된 값을 결과로 내보내며 종료됩니다.

 

 이렇게 작성된 값을 결과로 내보내는 과정을 "값을 반환한다"라고 표현합니다. return으로 반환될 값은 메서드를 정의할 때 명시했던 메소드 return 값의 자료형과 동일한 자료형의 변수 혹은 상수만 가능합니다.

 

import java.io.*;
class Main {
	
	public static int multiple(int a, int b) {

		int result = a * b;

		return result;
	}

	public static void main(String[] args) throws Exception {
		System.out.print(multiple(4, 6));
	}
}

 

위 소스코드를 보면 메소드 이름(multiple) 왼쪽의 자료형(int)과 결과 값인 result의 자료형(int)이 동일하다는 것을 알 수 있습니다.

 

 

 

 

void : return 값에 대해 예외로 판단되는 자료형이 하나 있습니다. 바로 void 형입니다. 

import java.io.*;
class Main {
    public static void main(String[] args) {
        System.out.println("Hello goorm!");
    }
}

 

 void 형은 특수한 자료형으로 어떤 값도 저장하지 않는 빈 공간을 뜻합니다. 직관적이지 않은 자료형이기 때문에 조금 어렵게 느껴지실 수 있지만, return 값의 자료형이 void 라면, 어떤 값도 return 하지 않는 메서드가 된다고 이해하시면 되겠습니다.

 

 

즉, return 값의 자료형이 void 일 경우

  1. return 값은 어떠한 것도 존재해서는 안되며,
  2. 오로지 이 경우에 한해 return 이라는 문구를 생략할 수 있습니다.

 

728x90
728x90