java 객체지향 개념 시험
September 28, 2018
문제 1
객체지향 개념의 4가지 특징을 적으시오.
- 캡슐화
- 상속
- 다형성
- 추상화
문제 2
생성자를 작성할 때 지켜야 하는 조건을 적으시오.
- 클래스 이름과 똑같아야 함
- 리턴 x, void x
- 모든 클래스에 반드시 1개의 생성자 존재해야 함
- 반드시 첫줄에 다른 생성자 호출 (this())
문제 3
오버라이딩할 때 지켜야할 3가지 조건을 적으시오.
- 선언부 동일
- 제어자 좁은쪽으로 변경 x
- 조상보다 많은 예외선언 x
문제 4
오버로딩할 때 지켜야하는 3가지 조건을 적으시오.
- 메서드 이름 같아야 함
- 매개변수 갯수 or 타입 달라야 함
- 리턴타입 상관 x
문제 5
다형성의 장점 2가지를 적으시오.
- 조상 참조변수를 매개변수로 다루면 자손 클래스 메서드 사용가능
- 하나의 배열 안에 여라 타입 자손 객체 다룰 수 있음
문제 6
static메서드가 같은 클래스의 인스턴스 변수를 사용할 수 없는 이유에 대해 적으시오.
- 인스턴스 변수는 인스턴스 생성시 사용가능 But Static 메서드 호출되었을 때 인스턴스 생성 유무 모름
문제 7
메서드 aaa()의 반환타입이 인터페이스 Runnable일 때, 이 메서드가 반환해야하는 값은?
(p.388 다형성 + 인터페이스)
- 리턴타입이 인터페이스라는 것은 메서드가 해당 인터페이스를 구현한 클래스의 인스턴스를 반환한다는 것을 의미한다
문제 8
객체를 생성했을 때, 객체가 초기화 되는 과정을 순서대로 적으시오.(생성자, 인스턴스 초기화 블럭, static 초기화 블럭, 인스턴스 멤버 명시적초기화, static멤버 명시적초기화)
cv -> iv // 자동 -> 쉬움 -> 어려움(블럭 -> 생성자)
- static 명시적 초기화 -> static 초기화 블럭 -> 인스턴스 명시적 초기화 -> 인스턴스 초기화 블럭 -> 생성자
문제 9
접근제어자를 접근 범위가 제일 넓은 것부터 순서대로 적으시오.
- public -> protected -> (default) -> private
문제 10
인터페이스와 추상 클래스의 차이에 대해서 적으시오.
- Interface -> 추상 메서드 or 상수만 존재 (단, 디폴트 메서드, static 메서드 예외)
- Abstract class -> 추상 메서드가 들어있는 클래스 (다른 메서드가 있어도 된다).
참고자료
- 자바의 정석 6~7장
- 남궁성 강사님 시험자료