개발의 시작과 끝
2020.05.31 / Day - 46 자바 내부 클래스 본문
46일차
내부클래스
클래스 내에 선언된 클래스로, 두 클래스가 서로 긴밀한 관계가 있을 때 내부 크래스를 사용한다.
한 클래스를 다른 클래스의 내부 클래스로 선언하면 두 클래스 멤버들 간에 서로 쉽게 접근 할 수 있고,
외부에는 불필요한 클래스를 감춰서 코드의 복잡성을 줄일 수 있다는 장점이 있다.
class A { // 외부 클래스
class B { // 내부 클래스
}
}
내부 클래스를 선언할 때 내부 클래스는 감싸고 있는 외부클래스를 제외한
다른 클래스에서 잘 사용되지 않는 것이어야한다.
외부 클래스가 아닌 다른 클래스에서 내부클래스에 접근해야 한다면
내부 클래스로 선언해서는 안 되는 클래스를 내부 클래스로 선언했다는 의미이다.
내부클래스의 종류와 특징
내부 클래스 | 특징 |
인스턴스 클래스 (Instance class) |
외부 클래스의 멤버변수 선언 위치에 선언하며, 외부 클래스의 인스턴스 멤버처럼 다뤄진다. 주로 외부 클래스의 인스턴스멤버들과 관련된 작업에 사용될 목적으로 선언된다. |
스태틱 클래스 (static calss) |
외부 클래스의 멤버변수 선언 위치에 선언하며, 외부 클래스의 static멤버처럼 다뤄진다. 주로 외부 클래스의 static멤버, 특히 static메서드에서 사용될 목적으로 선언된다. |
지역 클래스 (local class) |
외부 클래스의 메서드나 초기화 블럭 안에 선언하며, 선언된 영역 내부에서만 사용될 수 있다. |
익명 클래스 (anonymous class) |
클래스의 선언과 객체의 생성을 동시에 하는 이름없는 클래스(일회용) |
참조
'풀스택 > 자바 공부, 복습' 카테고리의 다른 글
2020.06.02 / Day - 48 자바 뉴렉처 강의 16. 콘솔 출력과 문자코드 (0) | 2020.06.02 |
---|---|
2020.06.01 / Day - 47 자바 인터페이스 (0) | 2020.06.01 |
2020.05.30 / Day - 45 자바 throw, throws (0) | 2020.05.30 |
2020.05.25 / Day - 41 자바 Jackson 라이브러리 (0) | 2020.05.25 |
2020.05.25 / Day - 41 자바 jackson&ArrayList 회원 관리 - 수정 (0) | 2020.05.25 |