학원 5일차 복습(3/20)
이론
배열- 일반자료형 배열 : 객체
참조자료형 배열: 객체
내부클래스는 외부클래스의 private 참조할 수 있다.
멤버내부클래스 :내부클래스의 위치 멤버위치, 가비지컬렉터로 지워지는 순간, 모듈화할때 사용
다중상속을 할때 외부에는 컨테이너적인을 상속하고 내부클래스는 모듈적인 것을 상속한다.
로컬내부클래스: 로컬영역위치, 메서드안,생성자영역안, 스택에서 사용되고 나가는순간(메서드가 종료되는 순간) 사라짐
지역변수를 참조할수 없다, 상수를 참조해야한다. 메서드가 스택에서 존재 할 때 까지만의 생명범위를 가진다.
메소드 내에서만 사용
스태틱내부클래스: 어쩔수없이 내부클래스내에 스태틱을 사용할수 밖에 없을때 , 외부클래스 참조불가
사용하려면 내부에 new로 외부클래스를 생성하고 참조
static 키워드로 선언된 클래스, 모든 종류의 필드, 메소드 선언 가능
익명내부클래스: 람다의 기본베이스, 이미 정해져있는 것들을 정의(인터페이스), 1회용
익명 객체는 단독 생성 불가
클래스 상속하거나 인터페이스 구현해야만 생성 가능
익명내부클래스 사용용도: 필드의 초기값, 로컬 변수의 초기값, 매개변수의 매개값으로 주로 대입
UI 이벤트 처리 객체나, 스레드 객체를 간편하게 생성할 목적으로 주로 활용
익명내부클래스 구조ex)
Ex3_TestInter ref = new Ex3_TestInter() {
@Override
public void printData() {
System.out.println("테스트!");
}
};
실습
ex.MyImple
ex.MyImple2
ex.MyImple3
ex.MyImpleMain
ex.MyInterA
ex.MyInterB
ex.MyInterC
ex1.Ex1_MemberInner
ex1.Ex1_MemberStaticInner
ex1.Ex2_LocalInner
ex1.Ex3_AnonyInner
ex1.Ex3_TestInter
ex1.Exam_MemberInner
ex1.SuperA
ex1.SuperB