[Java] 익명 클래스 (Anonymous Class)
익명 클래스 (Anonymous Class)
안드로이드 프로그래밍을 하다가 이벤트 리스너 매개변수로 익명 클래스를 넘기는 부분을 보고 헷갈려서 정리해둔다.
익명 클래스는 1회용 자식 클래스다. 예를 들어 다음의 클래스가 있다고 가정하자.
public class Person {
void whoAmI() {
System.out.println("Person 객체");
}
}
이제 위의 클래스를 상속받아 HongGilDong이라는 자식 클래스를 만들고 싶다면 상속받아 사용하면된다.
public class HongGilDong {
@Override
public void whoAmI() {
System.out.println("HongGilDong 객체");
}
}
근데 만약 Person 클래스를 상속받아 사용해야할 자식 클래스가 홍길동뿐만 아니라, 철수, 영희, 앨리슨 ... 등등 여러 명인데다가 이것들은 단 1번만 사용되어질 것이라면 이렇게 많은 자식 클래스를 만드는 건 큰 낭비다. 이 때, 익명 클래스를 사용한다.
public static void main(String args[]) {
Person gildong = new Person() {
@Override
public void whoAmI() {
System.out.println("HongGilDong");
}
}
}
'Programming > Java' 카테고리의 다른 글
[Java] SLF4J 라이브러리 - 추상 Logging Framework (0) | 2019.12.24 |
---|---|
[Java] Date 클래스와 SimpleDateFormat 클래스 (0) | 2019.12.02 |
[Java] java.util.logging - 네이티브 로깅 라이브러리 (0) | 2019.11.21 |
[Java] 자바 프로그램 콘솔 실행 ( execute with console ) (0) | 2019.01.22 |
쓰레드( Thread ) #1 (0) | 2019.01.17 |
댓글
이 글 공유하기
다른 글
-
[Java] Date 클래스와 SimpleDateFormat 클래스
[Java] Date 클래스와 SimpleDateFormat 클래스
2019.12.02 -
[Java] java.util.logging - 네이티브 로깅 라이브러리
[Java] java.util.logging - 네이티브 로깅 라이브러리
2019.11.21 -
[Java] 자바 프로그램 콘솔 실행 ( execute with console )
[Java] 자바 프로그램 콘솔 실행 ( execute with console )
2019.01.22 -
쓰레드( Thread ) #1
쓰레드( Thread ) #1
2019.01.17