📅 학습 기간: 2월 1주차!
🎯 학습 내용: 메서드(Method), 오버로딩(Overloading), 오버라이딩(Overriding)
📌 1. 메서드(Method)
💡 메서드란?
- 특정 기능을 수행하는 코드 블록
- 재사용 가능, 유지보수 용이
- 매개변수를 통해 값을 전달받고, 반환값을 가질 수 있음
✅ 메서드 기본 구조
ReturnType methodName(매개변수) {
// 구현부
}
✅ 메서드 예제
class Exam {
int add(int a, int b) {
int sum = a + b;
return sum;
}
}
📌 2. 메서드 구성 요소
✅ 1) 반환 유형(ReturnType)
- 메서드 실행 후 반환할 데이터 유형 지정
- 반환 데이터가 없는 경우
void
사용
int add(int a, int b) { return a + b; }
void printMessage() { System.out.println("Hello!"); }
✅ 2) 메서드명(MethodName)
- lowerCamelCase 사용 권장
- 동사 사용을 권장 (예:
calculateSum()
,printResult()
)
✅ 3) 매개변수(Parameter List)
- 메서드에 전달되는 입력 값 목록
- 자료형과 함께 선언해야 함
class Calculator {
int add(int a, int b) {
return a + b;
}
void printMessage() {
System.out.println("Hello!");
}
}
📌 3. 메서드 사용 예제
public class A_Method {
public static void main(String[] args) {
Calculator calc = new Calculator(); // 객체 생성
// 메서드 호출
System.out.println(calc.add(10, 5)); // 15
int result = calc.add(3, 5);
System.out.println(result); // 8
}
}
📌 4. 메서드 오버로딩 (Overloading)
💡 메서드 이름은 동일하지만, 매개변수 구성이 다른 경우
✅ 오버로딩 성립 조건
1️⃣ 메서드 이름이 동일해야 함
2️⃣ 매개변수의 개수 또는 타입이 달라야 함
3️⃣ 반환 타입(ReturnType)은 오버로딩 성립에 영향이 없음
class Calc {
int add(int a, int b) { return a + b; }
double add(double x, double y) { return x + y; }
double add(int x, double y) { return x + y; }
int add(int a, int b, int c) { return a + b + c; }
}
📌 5. 오버로딩의 장단점
✅ 장점
✅ 코드 가독성 향상
✅ 사용자가 매개변수 순서를 외우지 않아도 됨
✅ 컴파일 시 타입 체크 강화 → 올바른 메서드를 자동 선택
❌ 단점
❌ 불필요한 오버로딩은 코드 복잡성을 증가시킴
📌 6. 오버로딩 vs 오버라이딩
구분 | 오버로딩 (Overloading) | 오버라이딩 (Overriding) |
---|---|---|
적용 대상 | 같은 클래스 내에서 | 상속 관계에서 |
변경 요소 | 매개변수 개수 또는 타입 | 메서드 본문 내용 |
반환 타입 영향 | 없음 | 부모 클래스 메서드와 동일해야 함 |
🎯 소감
📌 메서드의 개념을 다시 정리하면서 코드의 재사용성을 깨닫게 됨
📌 오버로딩과 오버라이딩의 차이를 정확히 이해하는 것이 중요
🚀 마무리
이번 장에서는 메서드의 개념과 오버로딩을 학습했다!
'IT > JAVA' 카테고리의 다른 글
[JAVA] 자바 MacBook에서 Lombok 설치 & 설정 하기 (0) | 2025.02.25 |
---|---|
[JAVA] 자바 패키지별 연습 문제 part 1 (0) | 2025.02.24 |
[JAVA] 자바 기초 복습 (Chapter.04) (2) | 2025.02.21 |
[JAVA] 자바 기초 복습 (Chapter. 03) (0) | 2025.02.20 |
[JAVA] 자바 기초 복습 (Chapter. 02) (0) | 2025.02.16 |