문제
객체지향 개념에서 다형성(Polymorphism)과 관련한 설명으로 틀린 것은?
① 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다. ② 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다. ③ 메소드 오버라이딩(Overriding)은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다. ④ 메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
정답
4번
해설
정답: 4. 오버로딩은 메소드명은 동일하고 매개변수의 타입이나 개수를 다르게 하여 구분하는 것이다.
오답 풀이
- 1번: 다형성으로 코드 변경 없이 확장 가능한 것이 맞다.
- 2번: 여러 형태를 받아들이는 특징이 맞다.
- 3번: 오버라이딩은 상위 클래스 메소드를 재정의하는 것이 맞다.
- 4번: 오버로딩은 메소드명이 같고 매개변수가 달라야 하므로 설명이 반대로 되어 틀렸다.
보충 개념 오버라이딩은 상속 관계에서 재정의, 오버로딩은 같은 이름의 메소드를 매개변수로 구분하는 것이다.