면접질문 / 객체지향 프로그래밍의 속성 중 하나인 다형성과 이를 활용한 설계의 장점에 대해 설명해주세요 / override와 overload에 대해 설명해주세요.

2024. 12. 10. 20:29카테고리 없음

질문 : 객체지향 프로그래밍의 속성 중 하나인 다형성과 이를 활용한 설계의 장점에 대해 설명해주세요

- 다형성이란 어떤 객체의 속성이나 기능이 상황에 따라 여러 가지 형태를 가질 수 있는 성질을 의미합니다.

 

다형성을 활용한 설계의 장점으로 첫번째 코드의 재사용성 증가 입니다. 부모 클래스의 코드를 상속받아 재사용하면서, 자식 클래스만의 고유한 기능을 추가할 수 있습니다. 두번째로 유지보수 용이성 입니다. 코드가 변경되더라도 공통 인터페이스나 부모 클래스의 메서드를 통해 일관된 동작을 보장할 수 있습니다. 세번째로 확장성 입니다. 새로운 타입(자식 클래스)을 추가하더라도 기존 코드를 크게 수정하지 않아도 됩니다. 마지막으로 유연한 설계 입니다. 다형성을 통해 객체의 실제 타입에 관계없이 동일한 인터페이스로 다룰 수 있습니다.

질문 : override와 overload에 대해 설명해주세요.

overload는 같은 메소드라도 매개변수만 다르면 얼마든지 정의하고 사용할 수 있다.

 

override는 상속 관계에 있는 클래스 간에 같은 이름의 메소드를 정의하는 것입니다.

자식클래스가 부모클래스에서 선언된 것과 같은 메서드를 가질 때, 메소드 오버라이딩이라고 한다.