본문 바로가기
JAVA/JAVA 기초

내부 클래스(Inner Class)와 익명 클래스(Anonymous Class)

by 도쿠니 2022. 3. 29.

1. 내부 클래스

- 클래스 안에 선언한 클래스 (=중첩클래스)

- 내부 클래스에서 외부 클래스 멤버에 접근 가능 

- 외부에서는 내부 클래스에 접근 불가 

 

class Outer{
	...
    
    class Inner{
    	...
    }
}

 

- 내부 클래스 종류 : 인스턴스 클래스 / 정적 클래스 / 지역 클래스 / 익명 클래스 

 

class Outer{
	
    class Inner {
    }
    
    static class StaticInner{
    }
}


// 외부 클래스
Outer o1 = new Outer();

// 내부 클래스 - 인스턴스
Outer.Inner i1 = new Outer().new Inner();

// 내부 클래스 - 정적
Outer.StaticInner is1 = new Outer.StaticInner();

 

2. 익명 클래스

- 이름을 가지지 않는 클래스

- 선언과 동시에 객체 생성

- 일회용 클래스

클래스이름 참조변수이름 = new 클래스 이름(){
	...
};

 

 

'JAVA > JAVA 기초' 카테고리의 다른 글

예외 (Exception)  (0) 2022.03.29
입출력(IO)  (0) 2022.03.29
인터페이스 (Interface)  (0) 2022.03.29
추상 클래스 (Abstract Class)  (0) 2022.03.29
다형성(Polymorphism)  (0) 2022.03.28

댓글