문제 상세보기
문제 정보

문제 ID: 539955

카테고리: 정보처리기사

강의: 미분류

키워드: 없음

문제
객체지향 개념에서 다형성(Polymorphism)과 관련한 설명으로 틀린 것은?
정답을 선택하세요
1 다형성은 현재 코드를 변경하지 않고 새로운 클래스를 쉽게 추가할 수 있게 한다.
2 다형성이란 여러 가지 형태를 가지고 있다는 의미로, 여러 형태를 받아들일 수 있는 특징을 말한다.
3 메소드 오버라이딩(Overriding)은 상위 클래스에서 정의한 일반 메소드의 구현을 하위 클래스에서 무시하고 재정의할 수 있다.
4 메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
단일 문제
정답
4번 : 메소드 오버로딩(Overloading)의 경우 매개 변수 타입은 동일하지만 메소드명을 다르게 함으로써 구현, 구분할 수 있다.
해설 gpt-4o-mini 생성
[정답 근거] → 4번은 메소드 오버로딩의 정의가 잘못되었습니다. 메소드 오버로딩은 같은 메소드 이름을 가지고 있지만 매개변수의 타입이나 개수가 다를 때 발생합니다. 따라서 매개변수 타입이 동일하면 오버로딩이 성립하지 않습니다.

[오답 해설] → 1번은 다형성이 새로운 클래스를 추가할 수 있게 하는 특성을 잘 설명하고 있습니다. 2번은 다형성의 기본 개념을 정확히 설명하고 있으며, 3번은 메소드 오버라이딩의 정의를 올바르게 설명하고 있습니다. 이들은 모두 다형성과 관련된 올바른 설명입니다.

[관련 핵심 개념] → 다형성은 객체지향 프로그래밍의 중요한 개념으로, 같은 인터페이스를 통해 서로 다른 객체를 처리할 수 있게 해줍니다. 메소드 오버라이딩과 오버로딩은 다형성을 구현하는 두 가지 방법입니다. 오버라이딩은 상위 클래스의 메소드를 하위 클래스에서 재정의하는 것이고, 오버로딩은 같은 이름의 메소드를 매개변수의 타입이나 개수에 따라 다르게 정의하는 것입니다.

[학습 포인트] → 다형성을 이해하기 위해서는 메소드 오버라이딩과 오버로딩의 차이를 명확히 알고 있어야 합니다. 오버라이딩은 상속 관계에서 발생하고, 오버로딩은 같은 클래스 내에서 발생합니다. 이를 통해 객체지향 프로그래밍의 유연성과 재사용성을 높일 수 있습니다.