티스토리 뷰
오늘은 자바의 inner class에 대해서 정리해보려고 한다.
먼저 정의부터 내리자.
■ inner class 란?
▶ 클래스안에 선언된 클래스를 의미한다.
예제를 참고하자.
외부클래스는 Car, 이너클래스는 Engine 이다.
class Car {
private String brand = "Tesla";
class Engine {
public void start() {
System.out.println(brand + " 자동차의 엔진이 시동 걸립니다.");
}
}
// 외부 클래스 메서드
public void run() {
// 이너 클래스 객체 생성
Engine engine = new Engine();
engine.start();
}
}
public class Main {
public static void main(String[] args) {
// 1. 외부 클래스 객체 생성
Car myCar = new Car();
// 2. 외부 클래스 메서드 호출
myCar.run();
// 3. (참고) 외부에서 이너 클래스 객체를 생성하는 방법
// Car.Engine myEngine = myCar.new Engine();
// myEngine.start();
}
}
그렇다면, 이너클래스는 어떤 상황에서 사용하게될까?
● 외부클래스와 밀접한 관계가 있을때
● 캡슐화를 위해서!!!!
솔직히 아직 이너클래스를 사용해본적은 없어서, 언제 사용하게 될지는 모르겠다 ㅋㅋ
언젠가는 쓰게되겠지..... 🥳🥳🥳
'Java' 카테고리의 다른 글
| 자바 - 초기화 블록 ( 인스턴스 초기화 블록, 정적 초기화 블록 ) (0) | 2025.08.24 |
|---|---|
| 자바 - throw 키워드와 try-catch 구문의 추가적 이해( 예외 객체 담아오기 ) (0) | 2025.08.21 |
| 자바 - 파일명과 public 일치해야함!! (1) | 2025.08.18 |
| 자바 - 메서드 오버로딩(Method Overloading) - "메서드의 이름만같으면 동일한 메서드 아닌가? 하나의 이름에는 하나의 메서드만이 존재할 수 있는 것이 아닌가?" 의문 해결하기 (3) | 2025.08.15 |
| 자바 - 메서드에서 " return null; " 의 의미 (2) | 2025.08.15 |