[JAVA] Overriding & Overloading

SELOG·2023년 5월 31일
0

JAVA

목록 보기
2/4

오버라이딩(Overriding) & 오버로딩(Overloading)

오버라이딩(Overriding)과 오버로딩(Overloading)은 객체지향 프로그래밍에서 다형성을 구현하기 위한 개념


오버라이딩(Overriding)

  • 상위 클래스에서 이미 정의된 메서드를 하위 클래스에서 동일한 이름과 시그니처(매개변수 타입, 개수, 순서)를 가지는 새로운 구현으로 대체하는 것
  • 상속 관계에서 하위 클래스는 상위 클래스의 메서드를 재정의하여 동작을 변경할 수 있다.

오버라이딩을 사용하기 위해서..

  • 상위 클래스와 하위 클래스 사이에 상속 관계가 있어야 한다.
  • 오버라이딩할 메서드의 이름, 매개변수 타입, 개수, 순서가 동일해야 한다.
  • 접근 제어자(private 메서드를 제외한)와 예외 타입은 상위 클래스의 메서드와 동일하거나 더 넓은 범위로 설정되어야 한다.

오버로딩(Overloading)

  • 오버로딩은 같은 이름의 메서드를 여러 개 정의하는 것을 의미
  • 매개변수의 타입, 개수, 순서를 다르게하여 같은 이름의 메서드가 다양한 상황에서 다른 동작을 수행할 수 있도록 한다.

오버로딩을 사용하기 위해서..

  • 메서드의 이름이 동일해야 한다.
  • 매개변수의 개수, 타입, 순서가 서로 달라야 한다.

정리

  • 오버라이딩 은 상속 관계에서 상위 클래스의 메서드를 하위 클래스에서 재정의하는 것이고,
    오버로딩 은 같은 이름의 메서드를 매개변수의 타입, 개수, 순서를 다르게 정의하는 것.
  • 둘 다 다형성을 구현하는 중요한 개념이며, 객체지향 프로그래밍에서 유용하게 사용된다.
profile
금융 IT 전문가가 될거야

0개의 댓글