반응형
이것이 자바다 1권 9장 확인문제 풀이
1. 중첩 멤버 클래스에 대한 설명으로 틀린 것은 무엇입니까?
정답 - 4번 (정적 멤버 클래스 내부에는 바깥 클래스의 인스턴스 필드를 사용할 수 있다.)
해설 - 정적 멤버 클래스는 바깥 클래스의 객체가 없어도 사용할 수 있다.
따라서 정적 멤버 클래스 내부에 바깥 클래스의 인스턴스 필드를 사용할 수 없다.
2. 로컬 클래스에 대한 설명으로 틀린 것은 무엇입니까?
정답 - 3번 (로컬 클래스는 static 키워드를 이용해서 정적 클래스로 만들 수 있다.)
해설 - 로컬 클래스는 static 키워드를 사용할 수 없다.
3. 익명 객체에 대한 설명으로 틀린 것은 무엇입니까?
정답 - 3번(익명 객체는 생정자를 선언할 수 있다.)
해설 - 익명 객체는 생성자를 따로 추가할 수 없다.
4. 다음과 같이 Car 클래스 내부에 Tire와 Engine이 멤버 클래스로 선언되어 있습니다. 외부 클래스(NestedClassExample)에서 멤버 클래스의 객체를 생성하는 코드를 작성해 보세요.
public class Car{
class Tire{}
static class Engine{}
}
public class NestedClassExample{
public static void main(String[] args){
Car myCar = new Car();
Car.Tire tire = myCar.new Tire();
}
}
5. AnonymousExample 클래스의 실행 결과를 보고 Vehicle 인터페이스의 익명 구현 클래스 객체를 이용해서 필드, 로컬 변수의 초기값과 메소드의 매개값을 대입해 보세요.
public interface Vehicle{
public void run();
}
public class Anonymous{
Vehicle field = new Vehicle(){
@Override
public void run(){
System.out.println("자전거가 달립니다.");
}
};
void method1(){
Vehicle localVar = new Vehicle(){
@Override
public void run(){
System.out.println("승용차가 달립니다.");
}
};
localVar.run();
}
void method2(Vehicle v){
v.run();
}
}
public class AnonymousExample{
public static void main(String[] args){
Anonymous anony = new Anonymous();
anony.field.run();
anony.method1();
anony.method2(new Vehicle(){
@Override
public void run(){
System.out.println("트럭이 달립니다.");
}
});
}
}
6. 다음 Chatting 클래스는 컴파일 에러가 발생합니다. 원인이 무엇입니까?
package 이것이자바다;
public class Chatting {
void startChat(String chatId) {
String nickName = null;
nickName = chatId; //(X)
//변경 --> String nickName = chatId;
Chat chat = new Chat() {
@Override
public void start() {
while(true) {
String inputDate = "안녕하세요";
String message = "[" + nickName + "]" + inputDate;
//nickName은 final로 선언된 상수라 chatId로 초기화가 불가능하다.
//null도 하나의 값으로 인식하기 때문.
sendMessage(message);
}
}
};
chat.start();
}
class Chat{
void start() {}
void sendMessage(String message) {}
}
}
🔎 String nickName = null; 로 상수 선언을 해주었기 때문에 nickName 변수의 값을 변경할 수 없다. (null도 값이라고 인식하기 때문)
반응형
'☕️JAVA' 카테고리의 다른 글
이것이 자바다 1권 9장 중첩 클래스 & 중첩 인터페이스 TIL 정리 - 2 (0) | 2019.12.04 |
---|---|
이것이 자바다 1권 9장 중첩 클래스 & 중첩 인터페이스 TIL 정리 - 1 (4) | 2019.12.01 |
이것이 자바다 1권 8장 확인문제 풀이 (0) | 2019.11.26 |
이것이 자바다 1권 8장 인터페이스 TIL 정리 - 2 (0) | 2019.11.25 |
이것이 자바다 1권 8장 인터페이스 TIL 정리 - 1 (0) | 2019.11.25 |