익명 객체
2022. 4. 22. 18:45ㆍjava/java
*익명 객체 : 이름이 없는 객체
1) 익명 객체는 단독으로 생성할 수 없다.
-클래스를 상속하거나 인터페이스를 구현해야만 생성할 수 있다.
2) 사용 위치
-필드의 초기값, 로컬 변수의 초기값, 매개변수의 매개값으로 주로 대입된다.
-UI 이벤트 처리 객체나, 스레드 객체를 간편하게 생성할 목적으로 주로 활용된다.
*익명 자식 객체 생성
부모클래스 [필드|변수] = new 부모클래스(매개값...) {
//필드
//메소드
}
필드 초기값
class A {
Parent field = new Parent() {
int childfield;
void childMethod() {
}
@Override
void parentMethod() {} //parentMethod 오버라이드
}
}
로컬 변수 초기값
class A {
void method() {
Parent localVar = new Parent() { //로컬 변수 선언
int childField;
void childMethod() {}
@Override
void parentMethod() {}
}
}
}
메소드의 매개값
class A {
void method(Parent parent) {}
void method1() {
method(
new Parent() {
int childField;
void childMethod() {}
@Override
void parentMethod() {}
}
);
}
1) 익명 객체에 새롭게 정의된 필드와 메소드
-익명 객체 내부에서만 사용된다.
-외부에서는 익명 객체의 필드와 메소드에 접근할 수 없다.
(익명 객체는 부모 타입 변수에 대입되므로 부모 타입에 선언된 것만 사용할 수 있다.)
'java > java' 카테고리의 다른 글
작업 스레드 생성과 실행 (0) | 2022.04.22 |
---|---|
프로세스와 스레드 (0) | 2022.04.22 |
중첩 클래스 (0) | 2022.04.21 |
중첩 클래스와 중첩 인터페이스란? (0) | 2022.04.20 |
디폴트 메소드와 인터페이스 확장 (0) | 2022.04.19 |