[JAVA] 내부클래스

안요한·2022년 5월 19일
0

JAVA

목록 보기
13/16

8.1 내부 클래스란?

내부 클래스는 클래스 내에 선언된 클래스이다.

두 클래스가 서로 긴밀한 관계에 있기 때문에 선언한다.

내부 클래스의 장점

  • 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.
  • 코드의 복잡성을 줄일 수 있다.(캡슐화)

8.2 내부 클래스의 종류와 특징

8.3 내부 클래스의 선언

class Outer {
		class InstanceInner{}
		static class StaticInner{}

		void myMethod() {
			class LocalInner {}
		}
}
// 각 내부 클래스의 선언위치에 따라 같은 선언위치의 변수와 동일한 유효범위와 접근성을 갖는다.

8.5 익명클래스

이름이 없다.

클래스의 선언과 객체의 생성을 동시에 하기 때문에 한번만 사용되고, 하나의 객체만을 생성하는 일회용 클래스.

  • 예제 7-36/InnerEx6.java
class InnerEx6 {
	Object iv = new Object(){ void method(){} };        //익명 클래스
	static Object cv = new Object(){ void method(){} }; //익명 클래스

	void myMethod() {
		Object lv = new Object(){ void method(){} };      //익명 클래스
		}
}
/* 이름이 없기 때문에 생성자도 가질 수 없으며, 조상클래스의 이름이나 구현하고자 하는 인터페이스의 이름을 
사용해서 정의하기 때문에 하나의 클래스로 상속받는 동시에 인터페이스를 구현하거나
둘 이상의 인터페이스를 구현할 수 없다.
오로지 단 하나의 클래스를 상속받거나 단 하나의 인터페이스만을 구현할 수 있다.
*/
profile
걍이렇게돼브렀다리

0개의 댓글