AR삽질러

이것이 자바다 - 6장 확인문제(클래스)-1 본문

JAVA

이것이 자바다 - 6장 확인문제(클래스)-1

아랑팡팡 2023. 2. 23. 18:27
728x90

개인적으로 가장 중요하다고 생각되는 파트..

 

1. 객체와 클래스에 대한 설명으로 틀린것은 무엇입니까?

정답 : 3 하나의 클래스로 하나의 객체만 생성할 수 있다.

 - 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스 라고 한다. 하나의 클래스로부터 여러개의 인스턴스를 만들 수 있다.

 1) 클래스 설계

 2) 설계된 클래스를 가지고 사용할 객체 생성

 3) 생성된 객체사용

 

2. 클래스의 구성 멤버가 아닌것은 무엇입니까?

정답 : 4 로컬 변수(local variable)

 - 클래스에는 객체가 가져야 할 구성 멤버가 선언된다. 구성 멤버에는 필드(Field), 생성자(Constructor), 메소드(Method)가 있다. 이 구성 멤버들은 생략되거나 복수개가 작성될 수 있다.

 File - 객체의 데이터가 저장되는 곳 int fieldName;

 Constructor - 객체 생성시 초기화 역할 담당 ClassName() { }

 Method - 객체의 동작에 해당하는 실행 블록 void methodName(){}

 

3. 필드, 생성자, 메소드에 대한 설명으로 틀린것은 무엇입니까?

정답 : 4 클래스는 반드시 필드와 메소드를 가져야 한다.

 - 필드는 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳이다. 선언 형태는 변수(variable)과 비슷하지만 피드를 변수라고 부르지는 않는다. 변수는 생성자와 메소드 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동으로 소멸한다.

 - 생성자는 new 연산자로 호출되는 특별한 중괄호{ } 블록이다. 생성자의 역할은 객체 생성 시 초기화를 담당한다. 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 한다. 생성자는 메소드와 비슷하게 생겼지마느 클래스 이름으로 되어 있고 리턴 타입이 없다.

 - 메소드는 객체의 동작에 해당하는 중괄호{ }블록을 말한다. 중괄호 블록은 이름을 가지고 있는데 이것이 메소드 이름이다. 메소드를 호출하게 되면 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행된다.

 

4. 필드에 대한 설명으로 틀린 것은 무엇입니까?

정답 : 3 필드는 반드시 생성자 선언 전에 선언되어야한다.

 - 필드 선언은 클래스 중괄호{ }블록 어디서든 존재할 수 있다. 생성자 선언과 메소드선언의 앞과 뒤 어떤곳에서도 필드 선언이 가능하다. 하지만 생성자와 메소드 중괄호 블록내부에는 선언될 수 없다. 생성자와 메소드 중괄호 블록 내부에 선언된 것은 모두 로컬변수가 된다.

 

5. 생성자에 대한 설명으로 틀린것은 무엇입니까?

정답 : 1 객체를 생성하려면 생성자 호출이 반드시 필요한 것은 아니다.

 - 생성자는 new연산자와 같이 사용되어 클래스로부터 객체를 사용할 때 호출되어 객체의 초기화를 담당한다. 객체 초기화란 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것을 말한다. 생성자를 실행시키지 않고는 클래스로부터 객체를 만들수 없다. 

 

6. 메소드에 대한 설명으로 틀린것은 무엇입니까?

정답 : 4 메소드의 이름은 중복해서 선언할수 없다.

 - 메소드선언은 선언부(리턴타입, 메소드이름, 매개변수선언)과 실행 블록으로 구성된다. 

 - 메소드 오버로딩 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것을 메소드 오버로딩이라고 한다. 오버로딩의 사전적의미는 많이 싣는 것을 뜻한다. 하나의 이름으로 여러 기능을 담는다는 것으로 메소드 오러로딩의 조건의 매개변수의 타입, 개수, 순서 중 하나가 달라야한다.

 

7. 메소드 오버로딩에 대한 설명으로 틀린 것은 무엇입니까?

정답 : 2 반드시 리턴 타입이 달라야 한다.

- 메소드 오버로딩 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것을 메소드 오버로딩이라고 한다. 오버로딩의 사전적의미는 많이 싣는 것을 뜻한다. 하나의 이름으로 여러 기능을 담는다는 것으로 메소드 오러로딩의 조건의 매개변수의 타입, 개수, 순서 중 하나가 달라야한다.

 

8. 인스턴스 멤버와 정적 멤버에 대한 설명으로 틀린 것은 무엇입니까?

정답 : 2 인스턴스 필드는 생성자 및 정적 블록에서 초기화될 수 있다.

 - instance멤버란 객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메소드를 말한다. 각각 인스턴스 필드, 인스턴스 메소드라고 부른다. 인스턴스 필드는 생성자에서 정적필드는 정적블록해서 초기화된다.

 

9. final 필드와 상수(static final)에 대한 설명으로 틀린것은 무엇입니까?

정답 : 2 final필드와 상수는 생성자에서 초기화될 수 있다.

 - final 타입 필드 [= 초기값];

 - final필드의 초기값을 줄 수있는 방법은 두가지다. 필드선언시에 주는 방법과 생성자에서 주는 방법이다. 복잡한 초기화 코드가 필요하거나 객체 생성 시에 외부 데이터로 초기화해야 한다면 생성자에서 초기값을 지정해야 한다.

 

10. 패키지에 대한 설명으로 틀린것은 무엇입니까?

정답 : 4 mycompany 패키지에 소손된 클래스는 yourcompany에 옮겨 놓아도 동작한다.

 - 패키지가 중요한 이유는 클래스만 따로 복사해서 다른 곳으로 이동하면 클래스는 사용할 수 없다.

 

11. 접근제한에 대한 설명으로 틀린 것은 무엇입니까?

정답 : 3 default 접근 제한은 해당 클래스 내부에서만 사용을 허가한다.

 - public 접근제한자 : 외부 클래스가 자유롭게 사용할 수 있는 공개 멤버를 만든다.

 - protected 접근제한자 : 같은 패키지 또는 자식 클래스에서 사용할 수 있는 멤버를 만든다.

 - default 접근제한자 : 같은 패키지에 소속된 클래스에서만 사용할 수 있는 멤버를 만든다.

 - private 접근제한자 : 외부에 노출되지 않는 멤버를 만든다.

접근제한 적용대상 접근할 수 없는 클래스
public 클래스, 필드, 생성자, 메소드 없음
protected 필드, 생성자, 메소드 자식 클래스가 아닌 다른 패키지에 소속된 클래스
default 클래스, 필드, 생성자, 메소드 다른 패키지에 소속된 클래스
private 필드, 생성자, 메소드 모든 외부 클래스

 

728x90
반응형
LIST