[혼공자][week5] Day18 익명 객체 = 이름 없는 객체

Ida·2025년 2월 16일
0

혼공자

목록 보기
19/20

아니 근데 진짜
헷갈리네...
앞 내용 다시 해야겠다

09-2 익명 객체

익명 객체 생성 조건

  • 어떤 클래스를 상속 or 인터페이스 구현

1. 익명 자식 객체 생성

자식 클래스를 명시적으로 선언하는 이유
-> 재사용성이 높음(어디서든 이미 선언된 자식 클래스로 간단히 객체 생성해서 사용할 수 있음을 말함.)

자식 클래스 재사용X -> 특정 위치에서 사용할 경우
익명 자식 객체 생성해서 사용

예제로 이해하기 (손코딩)

  • 부모클래스: Person
  • 익명 자식 객체 생성: Anonymous
    필드값으로 익명 객체 대입
    로컬 변수값으로 익명 객체 대입

2. 익명 구현 객체 생성

구현 클래스 재사용되지 않고 특정 위치에서 사용할 경우 번거롭게 선언하지 않고 익명 구현 객체를 생성해서 사용함.

  • 인터페이스 선언: RemoteControl
  • 익명 구현 객체 생성: Anonymous

UI 프로그램에서 익명 구현 객체 (손코딩)

UI 프로그램에서 버튼의 클릭 이벤트 처리를 위한 익명 구현 객체 이용법

  • Window 클래스는 2개의 Button 객체를 가지고 있는 창이라고 가정
    1. button1의 클릭 이벤트 처리는 필드로 선언한 익명 구현 객체가 담당
    2. button2의 클릭 이벤트 처리는 setOnClickListener()를 호출할 때 매개값으로 준 익명 구현 객체가 담당

3. 익명 객체의 로컬 변수 사용

메소드의 매개 변수나 로컬 변수를 익명 객체 내부에서 사용할 시에 제한 존재

손코딩

자바 8부터는 final 키워드가 없어도 final 특성이 부여되기 때문에 에러 X
그래서 arg1, arg2, var1, var2의 값 수정 시 오류 발생.

profile
나는 이다이다.

0개의 댓글

관련 채용 정보