💻 자바에서 메서드를 사용하는 이유!
메서드는 코드를 간결하게 만들고, 유지보수를 쉽게 하며, 재사용성을 높여주는 핵심 요소입니다.
오늘은 기본형 vs 참조형, 메서드 개념, 오버로딩과 활용법까지 깔끔하게 정리해볼게요!
"같은 코드를 반복하지 말고 메서드로 깔끔하게 정리하자!"
✅ 기본형 vs 참조형
🔹 기본형(Primitive Type)
- 값 자체를 저장하는 타입
- 메서드에 전달해도 원본 값이 변경되지 않음
- 예시: int, double, boolean, char
public class PrimitiveExample {
public static void main(String[] args) {
int num1 = 5;
int num2 = num1; // 값 복사
num2 = 10;
System.out.println("num1: " + num1); // 5
System.out.println("num2: " + num2); // 10
}
}
✔️ 출력 결과:
num1: 5
num2: 10
📌 기본형 데이터는 값을 직접 저장하며, 복사해도 원본에는 영향이 없음!
🔹 참조형(Reference Type)
- 객체의 주소(참조값)를 저장하는 타입
- 메서드에 전달하면 원본 값이 변경될 수도 있음!
- 예시: String, Array, Class, List
public class ReferenceExample {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3};
int[] arr2 = arr1; // 주소(참조값) 복사
arr2[0] = 10;
System.out.println("arr1[0]: " + arr1[0]); // 10
System.out.println("arr2[0]: " + arr2[0]); // 10
}
}
✔️ 출력 결과:
arr1[0]: 10
arr2[0]: 10
📌 참조형 데이터는 주소를 저장하므로, 하나가 변경되면 다른 곳에서도 변경됨!
✅ 메서드(Method)란?
메서드는 자주 사용하는 코드를 별도로 정의하여 재사용할 수 있는 기능입니다.
- 입력(매개변수) → 처리(로직) → 출력(return 값)
- 중복 코드 제거 & 유지보수 용이
- 필요한 기능을 블록 단위로 정리 가능
🔹 메서드 기본 구조
public static 반환타입 메서드명(매개변수) {
// 실행할 코드
return 반환값; // 반환 타입이 void이면 생략 가능
}
🔹 예제 1: 두 숫자를 더하는 메서드
public class MethodExample {
public static void main(String[] args) {
int result = sum(5, 7);
System.out.println("결과: " + result);
}
public static int sum(int a, int b) {
return a + b;
}
}
✔️ 출력 결과:
결과: 12
📌 메서드를 사용하면 같은 로직을 반복 작성할 필요 없이 호출만 하면 됨!
✅ 메서드 오버로딩(Overloading)
메서드 오버로딩이란 같은 이름의 메서드를 여러 개 정의하는 것입니다.
- 매개변수의 개수, 타입, 순서가 다르면 오버로딩 가능
- 반환 타입은 오버로딩과 무관
🔹 예제 2: 오버로딩 활용
public class OverloadingExample {
public static void main(String[] args) {
System.out.println(sum(5, 7)); // int 타입
System.out.println(sum(5.5, 7.5)); // double 타입
}
public static int sum(int a, int b) {
return a + b;
}
public static double sum(double a, double b) {
return a + b;
}
}
✔️ 출력 결과:
12
13.0
📌 자바는 자동으로 적절한 메서드를 찾아 실행!
❗ 메서드 사용 시 주의할 점
🚨 1. return이 있는 메서드는 반드시 값을 반환해야 함
public static int sum(int a, int b) {
// return을 생략하면 컴파일 오류 발생!
}
🚨 2. 참조형 변수는 원본이 변경될 수 있음
public static void changeArray(int[] arr) {
arr[0] = 100; // 원본 데이터 변경됨
}
🚨 3. 오버로딩 시 반환 타입만 다르게 하면 안 됨!
public static int sum(int a, int b) { return a + b; }
public static double sum(int a, int b) { return a + b; } // ❌ 오류 발생
🎯 마무리
✔️ 기본형 vs 참조형 차이 이해 필수!
✔️ 메서드를 사용하면 코드가 간결해지고 유지보수가 편리!
✔️ 오버로딩을 활용하면 메서드를 유연하게 사용할 수 있음!
궁금한 점이 있으면 댓글로 남겨주세요! 😊
'📚 학습 기록 > Java 기초 & 중급' 카테고리의 다른 글
[25.03.20]문자열 계산하기 - 코딩 테스트 학습 노트 (Java) (1) | 2025.03.20 |
---|---|
🚀 [코딩 테스트] 자바 문제 풀이 기록 📌 (25.03.06~07) (1) | 2025.03.07 |
🔥 [25.03.04][Java] 배열 & for-each문 완벽 정리! (1) | 2025.03.04 |
🔥 [25.03.04][Java] Scanner & BufferedReader 완벽 정리! (0) | 2025.03.04 |
🔥[25.03.03] [Java] 스코프 & 형변환 완벽 정리! (1) | 2025.03.03 |