자바의 정석 - 오버로딩

Yohan·2023년 11월 20일
0

오버로딩(overloading)

  • 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것
// 예시
void println()
void println(boolean x)
void println(char x)
void println(int x)

오버로딩이 성립하기 위한 조건

  1. 메서드 이름이 같아야 한다.
  2. 매개변수의 개수 또는 타입이 달라야 한다.
  3. 반환 타입은 영향없다.
	// 1,3번만 성립
	int add(int a, int b) { return a+b; }
    int add(int x, int y) { return x+y; }
    
    // 1,3번만 성립
	int add(int a, int b) { return a+b; }
    long add(int a, int b) { return (long)(a+b); }
    
    // 오버로딩
	long add(int a, long b) { return a+b; }
    long add(long x, int y) { return a+b; }
profile
백엔드 개발자

0개의 댓글