[JAVA] 오버로드

집 가고 싶다.·2024년 1월 3일

JAVA

목록 보기
22/33
post-thumbnail

1. 오버로드

1. 메서드 오버로드

  • 클래스 내 동일한 이름의 메서드 두 개 이상 존재 가능한 예외적인 처리 기법.

2. 메서드 오버로드 조건

  • 파라미터 타입, 개수, 순서가 달라야 함.
  • 리턴형 무관.

3. 오버로드 예시

  • 데이터 타입, 개수, 전달 순서에 따라 성립 여부 결정.
    • 가능: plus(int a, boolean b), plus(boolean a, int b)
    • 불가: plus(int a, int b), plus(int b, int a)

4. 오버로드 활용

  • 메서드 호출 간소화하며 사용자에게 편의성 제공.
    • System.out.println();

5. 생성자의 Overload

  • 생성자도 메서드이므로 Overload 가능.
  • 객체 생성 다양한 방법 제공.

6. this 키워드를 사용한 생성자 Overload

  • this 키워드로 현재 클래스의 다른 생성자 호출.
  • 생성자 Overload 간결한 구현과 일괄적인 데이터 초기화 가능.
    • this(param1, param2);
      오버로드 예시
// Calculator 클래스 정의
class Calculator {
    // 정수형 덧셈 메서드
    public int add(int a, int b) {
        return a + b;
    }

    // 실수형 덧셈 메서드
    public double add(double a, double b) {
        return a + b;
    }
}

// 메인 클래스
public class OverloadingExample {
    public static void main(String[] args) {
        // Calculator 객체 생성
        Calculator calc = new Calculator();
        
        // 정수형과 실수형 덧셈 호출
        System.out.println("Sum of integers: " + calc.add(3, 5));
        System.out.println("Sum of doubles: " + calc.add(3.5, 5.2));
    }
}
profile
틀린거 있으면 알려주세요.

0개의 댓글