본문 바로가기

JAVA

[Java] 수업 정리 28 오버로딩 & 오버라이딩 차이점 (24.12.03)

오버로딩 vs 오버라이딩 차이점

구분 오버로딩 (Overloading) 오버라이딩(Overriding)
목적 같은 이름의 메서드로 다양한 매개변수 처리 부모 클래스의 메서드를 자식 클래스에서 정의
클래스 관계 같은 클래스 내에서 사용 상속 관계에서 사용
메서드 이름 같아야 함 같아야 함
매개변수 개수나 타입이 달라야 함 부모 클래스와 완전히 동일해야 함
반환 타입 다를 수 있음 부모 클래스와 동일해야 함
접근 제어자 영향 없음 부모 클래스보다 더 좁은 범위로 설정 불가

 

  • 오버로딩 : 같은 클래스에서 메서드 이름은 유지하고, 매개변수를 달리하여 다양한 작업 처리
  • 오버라이딩 : 부모 클래스 메서드를 자식 클래스에서 재정의하여 새로운 기능 추가
  • 오버로딩은 같은 클래스 내에서 "메서드를 다양하게 만드는 것"
  • 오버라이딩은 상속 관계에서 "부모의 것을 덮어쓰는 것"