메서드 오버로딩(Method Overloading) vs 메서드 오버라이딩(Method Overriding)

SJW·2023년 6월 7일
0

메서드 오버로딩(Method Overloading)

  • 메서드 오버로딩이란 하나의 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것
  • 일반적으로 하나의 메서드는 하나의 기능만을 담당한다. 하지만 메서드 오버로딩은 하나의 메서드로 여러 기능을 구현하는 것이다.
  • 메서드 오버로딩의 조건: 1.동일한 메서드명, 2.매개변수의 개수 또는 타입이 달라야 한다.
  • 생성자 또한 오버로딩이 가능하다.



메서드 오버라이딩(Method Overriding)

  • 메서드 오버라이딩(Method Overriding)은 상위 클래스로부터 상속받은 메서드와 동일한 이름의 메서드를 '재정의'하는 것
  • 메서드 오버라이딩은 상위 클래스에 정의된 메서드를 하위 클래스에서 메서드의 동작을 하위 클래스에 맞게 변경하고자 할 때 사용한다.
  • 메서드 오버라이딩의 조건:
  1. 메서드의 선언부(메서드 이름, 매개 변수, 반환 타입)가 상위클래스의 그것과 완전히 일치해야 한다.
  2. 접근 제어자의 범위가 상위 클래스의 메서드보다 같거나 넓어야 한다.
  3. 예외는 상위 클래스의 메서드보다 많이 선언할 수 없다.






0개의 댓글