내부 클래스
클래스 내부에 있는 클래스
인스턴스 내부 클래스
인스턴스 내부 클래스 안에서 static 변수는 사용할 수 없다.(프로그램이 로드될떄 메모리에 올라가기 때문에 아직 생성되지 않은 클래스 안에서 생성이 불가능하기 때문에.)
이와 같이 아웃클래스를 먼저 생성하고 내부 클래스 인스턴스를 생성 가능한 문법도 존재한다.
정적 내부 클래스
-static 키워드 사용가능.
-아웃 클래스 생성과 상관 없이 사용가능하다.(static 클래스 이기 때문에 인스턴스 생성과 상관 없이 프로그램이 로드될때 메모리에 올라가기 때문이다.)
-단 아웃 클래스 멤버변수 참조가 불가능하다.
아웃클래스 생성과 상관없이 인스턴스 생성해서 사용할 수 있다.
지역 내부 클래스
클래스 안에 메서드에서 생성되는 클래스를 의미한다.
메서드 안에 지역변수를 참조할 수 없다.(메서드가 종료되면 해당변수는 사라지기 때문에)
익명 내부 클래스
지역 내부 클래스에서 메서드안에서 사용되는 클래스 이름은 의미가 없다. ㅡ> 익명 내부 클래스
변수에 대입해서 구현하는 방법.
단하나의 추상클래스나 하나의 인터페이스만 구현가능하다.
메서드안에서 구현하는 방법
'JAVA' 카테고리의 다른 글
[JAVA] 기초문법 - 스트림 (0) | 2022.01.05 |
---|---|
[JAVA] 기초문법 - 람다식 (0) | 2021.12.01 |
[JAVA] 기초문법 - 컬렉션 프레임워크(TreeSet, HashMap, TreeMap) (0) | 2021.12.01 |
[JAVA] 기초문법 - 컬렉션 프레임워크(stack,queue,hashset) (0) | 2021.12.01 |
[JAVA] 기초문법 -컬렉션 프레임워크 (ArrayList) (0) | 2021.12.01 |