카테고리 없음 / / 2020. 12. 18. 11:47

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

Overloading(오버로딩): 동일한 메서드 이름을 가진 메서드를 여러 개 정의해서 사용하되, 메서드의 시그니처(parameters, type)을 다르게 해서 사용하는 걸 말한다. 메서드의 리턴 타입은 동일 여부는 상관없고, 파라미터 개수와 타입은 서로 달라야 한다. 만약 파라미터 개수가 같다면 타입은 반드시 달라야 한다.

 

Overriding(오버라이딩): 오버라이딩은 부모 클래스에서 선언된 메서드를 재정의 해서 사용하는 걸 말한다. 부모 클래스의 메서드를 그대로 사용할 수 있지만, 이를 재정의해서 기존 메서드에 기능을 추가하거나 아예 다르게 수정하는 게 가능하다. 여기서 제한 사항은 오버로딩(Overloading)과 다르게 재정의할 부모 메서드의 이름과 리터 타입, 파라미터 개수나 타입을 완전히 동일하게 해야 한다는 점이다.

구분 Overloading(오버로딩) Overriding(오버라이딩)
메서드 이름 동일 동일
메서드 리턴 타입 상관없음 동일
메서드 파라미터 개수 다름(파라미터 개수가 같다면 타입은 반드시 달라야 함) 동일
메서드 파라미터 타입 다름 동일
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유