- 기술 면접 예상 질문 - 오버로딩과 오버라이딩의 차이점을 설명해주세요.
기술 면접 예상 질문 - 오버로딩과 오버라이딩의 차이점을 설명해주세요.
오버 로딩과 오버 라이딩은 객체지향에서 기능의 다형성을 구현하는 방법입니다.
오버 로딩은 메서드 시그니처가 다른 같은 이름의 메서드를 여러 개 정의 하여 여러가지
기능을 하나의 이름으로 접근하여 사용할 수 있도록 만드는 하는 방법입니다.
오버 라이딩은 상속 관계에서 메서드 시그니처가 같은 메서드를 재 정의 하는 방법입니다.
오버라이딩은 abstract, virtual - override 키워드의 조합으로 구현됩니다.
하위 클래스에서 new 키워드를 사용해 상위 클래스의 메서드를 숨기는 메서드 숨김이라는 방법도 있습니다.
오버라이딩과 메서드 숨김의 차이점은 하위 클래스가 상위 클래스로 참조되는 경우인데
오버라이딩은 하위 클래스의 오버라이딩 메서드에 접근할 수 있지만
메서드 숨김은 하위 클래스의 재 정의된 메서드를 사용할 수 없습니다.
이 떄문에 오버 라이딩은 상위클래스에서 여러가지 다른 기능을 실행하여 다형성을 구현할 수 있지만
메서드 숨김은 상위클래스의 기능만을 실행할 수 있게되 다형성을 구현할 수 없습니다.