목록중첩클래스 (2)
불로구

중첩 인터페이스 - 중첩 인터페이스는 클래스의 멤버로 선언된 인터페이스이다. 인터페이스를 왜 클래스 내부에 선언할까?! - 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해서다. class A{ [static] interface B{ void m(); } } 중첩 인터페이스는 인스턴스 멤버 인터페이스와 정적 멤버 인터페이스 모두 가능하다 사용법 - 인스턴스 멤버 인터페이스는 밖 클래스의 객체가 있어야 사용 가능 - 정적 멤버 인터페이스는 밖 클래스의 객체 없이 밖 클래스만으로 접근 가능 - A 클래스의 내용을 보면 중첩 인터페이스 타입으로 필드 state를 선언했다. - setRunning메소드로 구현 객체를 받아 필드에 대입한다. - start()가 실행됐을 때 인터페이스를 통해 구현..

중첩 클래스 - 클래스 내부에 선언한 클래스 장점 - 두 클래스의 멤버들을 서로 쉽게 접근할 수 있다. - 외부에는 불필요한 관계 클래스를 감춤으로써, 코드 복잡성 줄임 중첩 클래스 외에도 중첩 인터페이스도 생성할 수 있다. 1) 중첩 클래스 class A{ class B{ } } 2) 중첩 인터페이스 class A{ interface B{ } } 중첩 클래스의 종류 1) 멤버 클래스 1.1) 인스턴스 멤버 클래스 class A{ class B{ //A객체를 생성해야만 B클래스를 사용할 수 있다. B(); int age; void run(){} // static 정적 사용 불가 } } A a = new A(); A.B b = new a.new B(); b.age = 25; b.run(); A 클래..