각종 문제들

[종합퀴즈] 객체지향 프로그래밍 심화

hunm719 2022. 12. 30. 23:26

오늘 있었던 퀴즈 중 틀린 문제를 자세히 분석해보려한다.

 

오늘은 13문제 중 10문제를 맞추고 3문제를 틀렸다.

캡슐화 1문제, 추상화 1문제, 또 마킹실수 1문제다.

 

평소 시험에서 마킹실수를 한 적이 거의 없는데 이번에 유독 많이 하는게 찝찝하다.

다음 퀴즈부터는 제출하기 전에 꼭 모두 확인하고 제출하자.

 

<다음 중 getter/setter 메서드에 대한 설명으로 틀린 것을 고르세요.>

A.getter/setter 메서드는 접근 제어자와 함께 캡슐화를 구현하기 위한 자바 프로그래밍의 핵심적인 수단이다.

B.getter 메서드는 설정한 변수 값을 읽어오는 데 사용한다

C.setter 메서드는 설정한 변수 값을 변경하는 데 사용한다.

D. 일반적으로 getter 메서드 또는 setter 메서드 중에 하나를 선택하여 사용한다.

 

(리뷰){

D-일반적인 경우 gettersetter 메서드는 세트로 함께 사용함.}

 

 

<다음 중 자바 추상화에 대한 설명으로 틀린 것을 모두 고르시오.>

A.자바에서 추상화란 기존 클래스의 공통적인 부분을 추출하는 것과 관련이 있다.

B.abstract 키워드는 “미완성”의 의미를 지니고 있으며, 메서드 구현부는 선택적으로 작성할 수 있다.

C.상속 계층도에서 추상화의 정도는 위로 올라갈 수록 구체적이다.

D.추상 클래스를 사용하면 하위클래스에서 메서드 오버로딩을 통해 각각 상황에 맞는 메서드 구현이 가능하다.

 

(리뷰){

B. abstract 키워드로 선언된 추상 클래스와 추상 메서드는 반드시 하위 클래스에서 구현부를 완성해야함.

C. 상속 계층도에서 위로 올라갈 수록 추상화의 정도가 높고 아래로 내려갈수록 그 정도가 낮음.

D. 메서드 오버로딩이 아닌 메서드 오버라이딩을 사용하여 상황에 맞는 메서드 구현이 가능}

 

 

<다음 중 추상클래스와 인터페이스의 비교로 올바른 것을 모두 고르시오.>

A.추상 클래스는 하나 이상의 추상 메서드를 포함하는 클래스를 가리킨다.

B.인터페이스는 다중구현이 가능하다.

C.추상 클래스를 상속받을 때에는 extends 키워드를, 인터페이스를 구현할 때에는 implements 키워드를 사용한다.

D.상속처럼 인터페이스도 다중 구현이 불가능하다.

 

(리뷰){

D. 인터페이스는 다중 구현이 가능하고, 객체 간의 협력 및 관계를 보다 유연하게 정의할 수 있음.}

 

 

마지막 문제가 마킹실수문제고,

1번은 C

2번은 B,C를 선택해서 틀렸다.

 

OOPs 심화 파트부터 전체적인 맥락은 어느 정도 이해하지만 세부적인 내용과 캡상추다 각각의 차이점을 정확히 설명하지 못하는 정도였는데 이번 기회로 다시 검색해보고 정리해보았다.