빅데이터UI전문가/JAVA

[JAVA] 빅데이터UI전문가 - day10 추상클래스

해요빈 2021. 8. 24. 11:40
1 추상클래스에 대한 설명 중 틀린 것을 모두 고르면?

(1) 몸체없는 메서드인 추상메서드를 보유한 클래스를 추상클래스라 한다.O

(2) 추상클래스가 되려면, 보유한 메서드가 모두 추상메서드이어야 한다.X 단 하나만이라도...

(3) 추상클래스는 개발자의 실수에 의해 메서드 내용이 누락될 경우 생성된다 X

(4) 추상클래스는 불완전한 클래스이므로 new 연산자에 의해 직접 메모리에 올려질 수 없다.
O 직접 new 할 수 없음, 자식에 의해서 하거나..~


(5) 추상클래스가 메모리에 올려지려면 누군가에 의해 내용이 완전해져야 하는데, 자바의 상속을 이용
    하면 부모의 메서드를 자식이 오버라이딩 할 수 있으므로 , 불완전한 추상메서드가 완성될 수 있다.
O

(6) 추상클래스의 사용목적은 자식으로 하여금 반드시 지정한 메서드를 완성하도록 강제하기 위함이다.
O / 숙제내는 이유: 과제를 강제로 받기위해~

2 다음 중 틀린 것을 고르면?

(1) 추상클래스란 내용이 불완전한 클래스를 의미하며, 추상메서드를 보유한 클래스다.
O


(2) 추상메서드가 단 하나라도 존재할 경우 이 클래스는 추상클래스가 된다.
O

(3) 추상메서드란 메서드 정의시 { 브레이스 }는 존재하지만 아무것도 코딩되지 않은 상태의 메서드를
    의미한다.
X 브레이스가 없는 상태

(4) 추상메서드는 몸체없는 메서드를 의미하므로, 대부분 개발자의 실수에 의해서 발생된다.
X


(5) 추상클래스와 추상메서드임을 선언하려면 abstract modifier(수식자)를 이용한다
O


3 다음 설명 중 틀린 것을 고르면?

(1) 개발시 특정 시점에 클래스의 내용을 확정지을 수 없거나, 확정지어서는 않되는 경우가 발생하게
   되는데 이때, 이 클래스의 완성 의무를 자식 객체에게 부여하기 위한 수단이 바로 추상클래스이다.
O

(2) 추상클래스를 상속받는 자식은 불완전한 부모의 추상메서드를 완성할 의무가 있으며, 이 완성이란, 
   부모의 메서드를 오버로딩(OverLoading) 하는 것이다.
X 오버라이딩

(3) 추상클래스는 개발시 구현해야 할 기준 및 가이드 라인을 제시할 수 있는 장치로써 유용하게 사용
    된다.
O

(4) 추상클래스를 상속받는 서브클래스 마저도 추상클래스가 될 수 있다.
O -> 자격증 시험에 나옴

(5) 추상클래스는 불완전한 클래스이므로 new 연산자에 의해 메모리에 올려질 수 없기 때문에, 이를 구현한
     자식 클래스에 의해 메모리에 올려질 수 있다.
O 자식에 의해서 부모와 자식이 올라감
4 다음 수식자(modifier)에 대한 설명 중 틀린 것은?


모든 인스턴스가 공유 -> static
모든 인스턴스가 접근 -> public
final

(1) abstract 수식자는 "추상적인"이란 뜻이며 메서드나 클래스에 적용할 수 있다.
O

(2) final 수식자는 "마지막"이란 뜻이며 클래스에 사용될 경우 더 이상 상속을 허락하지 않겠다는
   의미다.
O

(3) final 수식자가 메서드에 사용될 경우 오버로딩을 허용하지 않겠다는 의미다.
X 오버라이딩

(4) final 수식자가 변수에 사용될 경우 그 값이 더 이상 변하지 않는다의 의미이므로 상수를 정의할때 사용 될 
    수 있다. 
O

(5) static 수식자는 "정적인" 이란 뜻이며 클래스 혹은 인스턴스의 멤버 여부를 결정짓는 역할을 한다.
O
    
5 아래는 상수가 될 수 있는 조건을 설명한 것이다.이 조건을 충족시킬 수 있으려면 아래의 변수 x를
 어떤 수정자로 선언해야 할지 괄호 안을 작성해 보자.

(1) 상수는 프로그램의 시작부터 끝까지 값이 변해서는 않된다. final

(2) 상수는 모든 인스턴스간에 공유될 수 있어야 한다. static

(3) 상수는 외부에서의 접근이 가능해야 한다.public

 (        public static final            )  int x = 3; // 개발자 정의 상수

6 다음 중 틀린 것은?

(1) 추상클래스를 이용한 설계시 OOP언어의 다중상속 금지라는 규칙이 때로는 현실을 반영하는데 있어
   한계를 드러내는 경우가 있다. 
O


(2) 우리의 현실에선 다중상속적 모습도 많이 존재한다.
O

(3) 인터페이스는 추상메서드만을 모아놓은 메서드 집합이며 클래스가 아니므로, 클래스의 다중상속 제한에
     영향을 받지 않는다.
O

(4) 인터페이스를 대상으로  new 연산자로 인스턴스를 직접 생성할 수는 없다.
O

7 다음 설명 중 틀린 것은?

(1) 인터페이스를 구현하는 클래스는 메서드 재정의 의무가 주어진다.
O 구현강제

(2) 인터페이스의 인스턴스를 생성하려면 new 연산자를 사용한다.
X

(3) 자바언어에서는 인터페이스를 구현하는 클래스와 인터페이스간 형변환을 허용하고 있으며 같은
    자료형으로 취급된다. 결과적으로 is a 관계가 성립되어 자바의 객체간 형변환 및 다형성도 
    그대로 적용될 수 있다.
O // extends, implements

(4) 인터페이스는 클래스이다.
X // 만일 클래스라면, 다중상속 문제에 부딪치고, extends로 상속받아야함

(5) 인터페이스는 클래스가 아닌 추상메서드 집합이기는 하나, 인터페이스를 구현하는 클래스와 인터페
    이스간 같은 자료형으로 취급되고 있기 때문에 결과적으로 다중상속을 구현하는 것과 같다.
O