Anonymous Class
활용
상속관계 또는
특정 위치(코딩 라인)에서 1번만 사용될 경우
한마디로 익명 클래스는
자식 클래스인것이다.
정의
부모클래스 객체변수 = new 부모생성자함수() { 익명클래스 (자식클래스) };
// 또는 인터페이스도 가능
인터페이스 인터페이스변수 = new 인터페이스() { 익명클래스 (자식클래스) };
사용법
자식클래스 child = new 자식클래스
child.객체변수.(속성 , 함수 등)
♠ \ 참조 / ♠
주의점
지역변수 => 상수
(자동으로..)
만약 method 부분이 이런 코딩이 있다면..?
arg 와 var 가 자동으로 상수가 되어버린다..
( 내부 클래스와 비슷하게 되어버림.. )
int method(int arg) {
int var = 0;
부모클래스 변수 = new 부모생성자() {
// 익명 클래스
int result = arg + var;
return result;
}
}
< 참조 >
어 음.. 예제?
부모 클래스
public class Parent {
void wake() {
System.out.print("엄마가 일어납니다.");
}
}
( 익명 ) 자식 클래스
public class Anonymous {
Parent parent = new Parent() {
void wake() {
System.out.print("아들이 일어납니다.");
}
}
}
Main 함수
Anonymous anonymous = new Anonymous();
anonymous.parent.wake();
// 아들이 일어납니다.
'JAVA' 카테고리의 다른 글
Java - Thread ( Runnable 인터페이스 이용 ) (0) | 2023.10.02 |
---|---|
Java - Thread (0) | 2023.10.02 |
Java - 내부 클래스 ( 로컬 클래스 ) (0) | 2023.10.02 |
Java - 내부클래스 (정적 속성 클래스) (0) | 2023.10.02 |
Java - 내부 클래스 (일반속성 클래스) (0) | 2023.10.02 |