버터감자
오늘도 내 하루는
버터감자
전체 방문자
오늘
어제
  • 분류 전체보기 (139)
    • 🏃‍♀️ Do it ! (80)
      • TIL (73)
      • Project (5)
      • Certificate (2)
    • 📓 TechNote (52)
      • RPA (1)
      • Python (2)
      • JAVA (13)
      • Spring (11)
      • SQL (7)
      • Git & GitHub (6)
      • CS (0)
      • HTML & CSS & JavaScript (2)
      • Tools (9)
      • API (1)
    • 🔔 Error (7)
      • Error (7)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 함수
  • SQL
  • 스프링
  • 게시판
  • 기본쿼리
  • 데이터베이스
  • 만들기
  • callback
  • 홈페이지
  • 변수
  • 스택
  • 안드로이드
  • 오라클
  • foreach
  • 코틀린
  • dml
  • sqld
  • 세션
  • final필드
  • 부트스트랩
  • 톰캣
  • 큐
  • 배열
  • 이것이자바다
  • 이클립스
  • 포트폴리오
  • 문제풀이
  • 버블소트
  • 객체지향
  • opacity

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
버터감자

오늘도 내 하루는

📓 TechNote/JAVA

[JAVA] 이것이 자바다 확인 문제 - 9

2022. 11. 22. 09:41
728x90

📓

한빛미디어 _ 이것이자바다
9장 인터페이스


1. 중첩 멤버 클래스에 대한 설명으로 틀린 것은?
 
1. 인스턴스 멤버 클래스는 바깥 클래스의 객체가 있어야 사용될 수 있다.
2. 정적 멤버 클래스는 바깥 클래스의 객체가 없어도 사용될 수 있다.
3. 인스턴스 멤버 클래스 내부에는 바깥 클래스의 모든 필드와 메소드를 사용할 수 있다.
4. 정적 멤버 클래스 내부에는 바깥 클래스의 인스턴스 필드를 사용할 수 있다.
 

정적 멤버 클래스는 바깥 클래스의 객체가 없어도 사용 가능하다. 


2. 로컬 클래스에 대한 설명으로 틀린 것은?
 
1. 로컬 클래스는 메소드 내부에 선언된 클래스를 말한다.
2. 로컬 클래스는 바깥 클래스의 모든 필드와 메소드를 사용할 수 있다.
3. 로컬 클래스는 static 키워드를 이용해서 정적 클래스로 만들 수 있다.
4. final 특성을 가진 매개 변수나 로컬 변수만 로컬 클래스 내부에서 사용할 수 있다. 
 

로컬 클래스는 static 키워드를 사용할 수 없다 !


3. 익명 객체에 대한 설명으로 틀린 것은?
 
1. 익명 객체는 클래스를 상속하거나 인터페이스를 구현해야만 생성될 수 있다.
2. 익명 객체는 필드, 매개변수, 로컬변수의 초기값으로 주로 사용된다. 
3. 익명 객체에는 생성자를 선언할 수 있다.
4. 부모 클래스나 인터페이스에 선언된 필드와 메소드 이외에 다른 필드와 메소드를 선언할 수 있지만,
    익명 객체 내부에서만 사용이가능하다.
 

익명객체는 생성자를 선언할 수 없다. 


4. 다음과 같이 car 클래스 내부에 Tire와 Engine 이 멤버 클래스로 선언되어있습니다.

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();
        
        Car.Engine engine = new Car.Engine();
   }
}

5. AnonymousExample 클래스의 실행 결과를 보고 Vehicle 인터페이스의 익명 구현 클래스 객체를 이요해서 필드, 로컬변수의 초기값과 메소드의 매개값을 대입해 보시오. 
 

public interface Vehicle {
	public void run();
}

 
▼ [Anonymous.java] 익명 구현 클래스와 객체 생성

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();
    }
   
}

 
▼ [AnonymousExample.java] 익명 구현 클래스와 객체 생성

public class AnontmousExample {
	public static void main(String[] args) {
    	Anontmous anony = new Anontmous();
        
        // 익명 객체 필드 사용
        anony.field.run()
       
        // 익명 객체 로컬 변수 사용
        anony.method1();
        
        // 익명 객체 매개값 사용
        anony.method2(new Vehicle(){
        	@Oberride
            public void run() {
            	System.out.println("트럭이 달립니다.");
            }
        });
   }
}

'📓 TechNote > JAVA' 카테고리의 다른 글

[JAVA] Java 접근 제한자  (0) 2023.02.24
[JAVA] Overloading & Overriding  (0) 2023.02.21
[JAVA] 이것이 자바다 확인 문제 - 8  (0) 2022.11.22
[JAVA] 이것이 자바다 확인 문제 - 7  (0) 2022.11.22
[JAVA] 이것이 자바다 확인 문제 - 6  (0) 2022.11.22
    '📓 TechNote/JAVA' 카테고리의 다른 글
    • [JAVA] Java 접근 제한자
    • [JAVA] Overloading & Overriding
    • [JAVA] 이것이 자바다 확인 문제 - 8
    • [JAVA] 이것이 자바다 확인 문제 - 7
    버터감자
    버터감자
    🌱 새싹 개발자의 코딩 블로그 🌱

    티스토리툴바