-
[Java] 메서드란Java 2025. 3. 5. 12:37
✅ 메서드란?
- 함수, 기능.
- 여러 개의 작은 명령문을 한곳에 모아 사용하는 단위
예를 들어 "커피 마시기"라는 작업을 하나의 메서드로 표현
void 커피마시기() { // 1. 컵을 준비한다; // 2. 컵에 커피를 따른다; // 3. 컵에 담긴 커피를 마신다; }
메서드를 사용하면 기능별로 코드를 분리할 수 있어, 코드가 명확해지고 유지보수가 쉬워짐.
예를 들어, 여러 기능들이 한 파일에 모두 존재한다면 수정 시 일일이 찾아서 수정해야 하지만, 메서드로 분리하면 해당 메서드만 수정하면 됨.✅ 메서드의 구조
메서드는 항상 클래스 내부에 정의.
1️⃣ 기본구조
public class 클래스이름 { [반환자료형] 메서드이름(매개변수...) { // 작업 명령문들... [return 반환값;] } }
2️⃣ 메서드 구성요소
- 메서드 이름: 메서드가 수행하는 작업을 표현하는 이름
- 매개변수: 메서드가 작업을 수행하는 데 필요한 데이터를 전달받기 위한 변수들
- 작업 명령문: 메서드가 실행할 로직
- 반환자료형 및 반환값: 메서드 실행 결과를 호출한 쪽에 돌려주며, 반환 데이터가 없는 경우 void를 사용
✅ 메서드의 호출과 선언
메서드는 두 가지 측면에서 다뤄진다.
- 선언부: 메서드가 정의되어 있는 곳
- 호출부: 메서드를 실제로 사용하는 곳
예를 들어, 계산 기능을 수행하는 Calculator 클래스를 만든 후, 메인 메서드에서 해당 기능을 호출할 수 있음.
1️⃣ 선언부 예제 (Calculator.java)
public class Calculator { // 반환 값이 있는 메서드 (더하기 기능) int sum(int value1, int value2) { int result = value1 + value2; return result; } }
- (1) 메서드이름 설명
- 기능의 역할을 쉽게 짐작할 수 있도록 의미있는 이름을 사용.
- 카멜케이스(camelCase)를 사용하여 작성하며 주로 동사로 시작하는 것이 좋음.
- 예시: sum(), printMessage(), findUserById()
- (2) 매개변수 설명
- 작업을 수행할 때 필요한 **데이터를 전달받는 공간(변수)**.
- 매개변수는 여러 개를 사용할 수 있으며 쉼표(,)로 구분.
- (3) 작업내용 설명
- 메서드가 실행할 명령문을 {} 중괄호 안에 작성.
- 메서드가 호출되면 여기에 작성된 코드가 첫 번째 줄부터 실행.
- 중괄호가 끝나면 함수가 종료.
- (4) 반환값 / 반환자료형 설명
- 반환값:
- 작업한 결과를 반환해야 할 경우 return 키워드를 사용.
- 반환값은 함수가 호출된 곳으로 전달되고 이를 활용할 수 있음.
- 반환 자료형:
- 반환되는 데이터의 자료형을 메서드 선언부에서 명시해야 합니다.
- 반환값이 있는 경우 → 반환되는 데이터의 자료형(int, String, double 등)을 작성
- 반환값이 없는 경우 → void를 작성
- 반환값:
2️⃣ 호출부 예제 (Main.java)
public class Main { public static void main(String[] args) { Calculator calculator = new Calculator(); // Calculator 객체 생성 int result = calculator.sum(1, 2); // sum 메서드 호출 후 반환값 저장 System.out.println("계산결과는 " + result + "입니다."); } }
✅ 반환 데이터가 없는 메서드 (void)
모든 메서드가 반드시 데이터를 반환해야 하는 것은 아님.
반환할 데이터가 없다면 반환자료형에 void를 명시.public class Calculator { // 반환 데이터가 없는 메서드 (더하기 기능) void sum(int value1, int value2) { int result = value1 + value2; System.out.println("계산결과는 " + result + "입니다."); } }
호출 시 반환값을 받아 처리할 필요 없이 메서드 내부에서 처리된 결과를 바로 출력할 수 있습니다.
public class Main { public static void main(String[] args) { Calculator calculator = new Calculator(); calculator.sum(1, 2); // 반환값이 없으므로 따로 변수에 저장하지 않습니다. } }
✅ 지역변수와 메서드 영역
각 메서드는 자신만의 영역을 가지며, 중괄호 {} 안에서 선언된 변수는 해당 영역 내에서만 유효.
따라서 메서드 내부에서 선언된 변수는 메서드가 종료되면 소멸.예를 들어, 아래의 sum 메서드에서 선언된 result 변수는 메서드 내부에서만 사용할 수 있음.
int sum(int value1, int value2) { int result = value1 + value2; // 지역변수 return result; }
✅ 반환 값이 있을 때는 return
- return 키워드를 활용해 반환되는 데이터를 표현할 수 있음.
- 반환된 데이터는 호출부에서 받아서 활용 가능.
public class Calculator { int sum(int value1, value2) { int result = value1 + value2; return result; // ✅ result 가 반환됩니다. } }
public class Main { public static void main(String[] args { Calculator calculator = new Calculator(); int result = calculator.sum(1, 2); // ✅ 반환된 데이터를 result 변수에 담아 사용 System.out.println("계산결과는 " + result + "입니다."); } }
✅ 정리
- 메서드의 필요성:
작업 단위를 모듈화하여 코드의 재사용성과 유지보수성을 높임. - 메서드 구조:
반환자료형, 메서드 이름, 매개변수, 작업 명령문, 그리고 (필요시) 반환값으로 구성. - 호출부와 선언부:
선언부는 메서드를 정의하는 곳, 호출부는 메서드를 사용하는 곳. - 반환자료형:
결과 데이터를 반환할 때는 적절한 자료형을 사용하고, 반환할 값이 없다면 void를 사용.
'Java' 카테고리의 다른 글
[Java] 반복문과 배열 (1) 2025.03.05 [Java] 연산자와 조건문 (0) 2025.03.05 [Java] 변수와 입출력 (0) 2025.03.05 [Java] 명명 규칙 및 패키지, 클래스 (1) 2025.03.05 [Java] Java란? (1) 2025.02.25