티스토리 뷰
익명클래스는 인스턴스 생성시 이름이 없는 클래스이다.
익명 클래스는 클래스, 인터페이스가 그 대상이 된다.
클래스의 선언과 인스턴스 생성을 동시에 하기 때문에 한번만 사용되며, 하나의 객체만을 생성한다는 특징이 있다.
익명클래스 형태
new 조상클래스이름{}
new 인터페이스이름{}
이름이 없기 때문에 생성자도 가질 수 없다.
일반적인 클래스와는 달리 상속과 구현을 동시에 할 수 없으며 오로지 하나의 인터페이스를 구현하거나 하나의 클래스를 상속 받을 수 있다.
System.out.println(new Layout(){ void test(){ System.out.println(i); } void tests(){ System.out.println(222); } });
위의 결과는 패키지명,메인클래스이름$1@15db9742 형식으로 출력된다. 결과적으로 new Layout()으로 했지만 실제로 Layout이라는 클래스는 아니다.
Layout layout참조변수에 위의 출력문을 걷어내고 익명클래스 선언을 참조해도 익명클래스의 멤버는 사용할 수 없다.
웹프로그램에서는 거의 사용하지 않는다.
안드로이드나 GUI프로그래밍시 자주 쓰인다.
'JAVA > 정리' 카테고리의 다른 글
[Lambda Expression] 람다식 (0) | 2016.05.02 |
---|---|
[generics] 제네릭스 (0) | 2016.04.21 |
Thread (0) | 2016.01.14 |
clone() 에 대하여... (0) | 2015.07.04 |
자바7 (0) | 2014.11.26 |
Comments