혼자 공부하는 자바 09장 중첩 클래스와 중첩 인터페이스 확인 문제
2023. 2. 18. 23:00ㆍ공부/자바
반응형
<혼자 공부하는 자바> 신용권 저, 한빛 미디어 출판(2019.06.10)
※ 직접 풀이한 문제
08-1 확인 문제
08-1-1 맞는 것에 O표, 틀린 것에 X표 하세요.
- o
- o
- o
- x - 정적 멤버 클래스는 바깥 클래스의 객체 없이도 만들 수 있는데 이 때 바깥 클래스의 인스턴스 필드는 사용이 불가능하다.
08-1-2 틀린 것은 무엇입니까?
- ③ - 로컬 클래스는 static 키워드 사용이 불가능하다.
08-1-3 코드를 빈 칸에 작성해 보세요.
//answer- NestedClassExample.java
package sec01.verify.exam03;
public class NestedClassExample{
public static void main(String[] args){
Car myCar=new Car();
Car.Tire tire=myCar.new Tire();
Car.Engine engine=new Car.Engine();
}
}
08-1-4 컴파일 에러가 발생합니다. 원인 무엇입니까?
- Chat 클래스 start() 메소드에서 String message="["+nickName+"] "+inputData;에서 nickName은 바깥 클래스 즉, Chatting의 인스턴스 멤버 변수이다. 하지만 컴파일러는 이를 Chat 클래스의 인스턴스 멤버 변수로 보고 있어서 찾지 못한다.
08-1-5 BackgroundChangeListener 클래스를 작성해보세요.
// answer - BackgroundChangeListener.java
package sec01.verify.exam05;
public class BackgroundChangeListener implements CheckBox.OnSelectListener{
@Override
public void onSelect() {
System.out.println("배경색을 변경합니다.");
}
}
08-2 확인 문제
08-2-1 로컬 변수의 초기값과 메소드의 매개값을 대입해보세요.
//answer- Anonymous.java
package sec02.verify.exam01;
public class Anonymous{
Worker field=new Worker(){
@Override
public void start(){
System.out.println("디자인을 합니다.");
}
};
void method1(){
Worker localVar=new Worker(){
@Override
public void start(){
System.out.println("개발을 합니다.");
}
};
localVar.start();
}
void method2(Worker worker){
worker.start();
}
}
//answer - AnonymousExample.java
package sec02.verify.exam01;
public class AnonymousExample{
public static void main(String[] args){
Anonymous anony=new Anonymous();
anony.field.start();
anony.method1();
anony.method2(
new Worker(){
@Override
public void start(){
System.out.println("테스트를 합니다.");
}
}
);
}
}
08-2-2 로컬 변수의 초기값과 메소드의 매개값을 대입해보세요.
//answer - Anonymous.java
package sec02.verify.exam02;
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();
}
}
//answer - AnonymousExample.java
package sec02.verify.exam02;
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("트럭이 달립니다.");
}
}
);
}
}
08-2-3 익명 구현 객체를 작성해보세요.
//answer- CheckBoxExample.java
package sec02.verify.exam03;
public class CheckBoxExample{
public static void main(String[] args){
CheckBox checkBox=new CheckBox();
checkBox.setOnSelectListener(
new CheckBox.OnSelectListener(){
@Override
public void onSelect(){
System.out.println("배경을 변경합니다.");
}
}
);
checkBox.select();
}
}
반응형
'공부 > 자바' 카테고리의 다른 글
혼자 공부하는 자바 11장 기본 API 클래스 확인 문제 (0) | 2023.02.21 |
---|---|
혼자 공부하는 자바 10장 예외 처리 확인 문제 (0) | 2023.02.20 |
혼자 공부하는 자바 08장 인터페이스 확인 문제 (0) | 2023.02.16 |
혼자 공부하는 자바 07장 상속 확인 문제 (0) | 2023.02.15 |
혼자 공부하는 자바 06장 클래스 확인 문제 (0) | 2023.02.14 |