2025-08-09 12:51

Tags: 소프트웨어 공학

오버라이딩 (Overriding)

  • 다형성을 구현하는 핵심 방법
  • 부모 클래스의 메서드를 자식 클래스에서 상황에 맞게 덮어 써서 (Override) 활용
  • 재사용성 높이면서도 유연하고 확장성 있는 설계
  • 동일 이름, 동일 매개변수, 동일 반환 타입
  • 오버로딩은 이름이 같아서 다형성 구현은 공통점
  • 다만 상속에서 덮어씌우는 거냐 (오버라이딩), 같은 클래스 내에서 이름을 공유하는 거냐(오버로딩) 에 따라 상당히 다른 개념
구분오버라이딩 (Overriding)오버로딩 (Overloading)
개념부모 클래스의 메서드를 자식 클래스에서 재정의한 클래스 내에서 이름은 같지만 매개변수가 다른 여러 메서드를 정의
관계상속 관계 (부모-자식)같은 클래스 내
메서드 시그니처이름, 매개변수, 반환 타입 모두 같아야 함이름은 같지만, 매개변수의 개수나 타입이 달라야 함
시점**런타임(Runtime)**에 호출될 메서드가 결정됨 (동적 바인딩)컴파일(Compile) 시점에 호출될 메서드가 결정됨 (정적 바인딩)

References

다형성 오버라이딩 오버로딩

오버라이딩(Overriding) 핸드북