자바/자바 기초
자바의 메서드와 매개변수 전달 방식 완벽 가이드
끄적인다
2025. 4. 23. 23:24
반응형
자바에서 **메서드(Method)**는 코드의 재사용성과 구조화를 위해 필수적인 요소입니다. 이 글에서는 메서드의 기본 구조부터, **매개변수 전달 방식(Call by Value)**에 대한 이해까지 깔끔하게 정리해드립니다.
📌 1. 메서드란?
메서드는 특정 작업을 수행하는 코드 블록으로, 객체 지향 프로그래밍의 핵심 구성 요소입니다.
✅ 메서드의 구성 요소
리턴타입 메서드이름(매개변수 목록) {
// 실행할 코드
return 결과값;
}
✅ 예시
public int add(int a, int b) {
return a + b;
}
- int: 반환형 (return 타입)
- add: 메서드 이름
- int a, int b: 매개변수(Parameter)
- return a + b;: 반환 값
📦 2. 메서드 호출과 매개변수 전달 방식
자바는 Call by Value(값에 의한 호출) 방식을 사용합니다.
📌 즉, 메서드로 값을 전달할 때 값의 복사본이 전달되며, 원본은 변경되지 않습니다.
✅ 기본 타입 (Primitive Type) 전달 예시
public void changeValue(int x) {
x = 10;
}
int a = 5;
changeValue(a);
System.out.println(a); // 출력: 5
a의 값은 메서드 내에서 변경되어도 원본에는 영향을 주지 않음
✅ 참조 타입 (Reference Type) 전달 예시
public void modifyArray(int[] arr) {
arr[0] = 100;
}
int[] nums = {1, 2, 3};
modifyArray(nums);
System.out.println(nums[0]); // 출력: 100
배열은 객체이기 때문에 참조 주소가 복사되어 원본 객체의 값이 변경될 수 있음
🧪 3. 메서드 오버로딩 (Overloading)
같은 이름의 메서드를 매개변수의 개수 또는 타입만 다르게 하여 여러 개 정의할 수 있습니다.
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
🔍 오버로딩 조건
- 메서드 이름은 같아야 함
- 매개변수의 타입 또는 개수가 달라야 함
📊 메서드 활용 예시
public class Calculator {
public int multiply(int a, int b) {
return a * b;
}
public double multiply(double a, double b) {
return a * b;
}
}
Calculator calc = new Calculator();
System.out.println(calc.multiply(2, 3)); // 6
System.out.println(calc.multiply(2.5, 3.0)); // 7.5
✅ 정리 요약
항목설명
메서드 | 특정 작업을 수행하는 코드 블록 |
매개변수 전달 | 자바는 값 복사(Call by Value) 방식 사용 |
오버로딩 | 같은 이름, 다른 매개변수 조합으로 메서드 정의 |
자바에서 메서드는 코드 재사용성과 유지 보수성을 높여주는 핵심 도구입니다. 또한, 매개변수 전달 방식을 이해하면 디버깅과 문제 해결 능력이 향상됩니다. 실전 코딩에서는 기본 타입과 참조 타입의 차이를 항상 의식하며 코드를 작성하는 습관을 들이세요! 🚀
반응형