본 포스트는 카카오 테크 캠퍼스 1기에서 제공하는 패스트캠퍼스 강의에서 배운 내용을 토대로 정리하였습니다.
클래스 내부에 선언한 클래스로 이 클래스를 감싸고 있는 외부 클래스와 밀접한 연관이 있는 경우가 많고,
다른 외부 클래스에서 사용할 일이 거의 없는 경우에 내부 클래스로 선언해서 사용함
중첩 클래스라고도 함
내부 클래스의 종류
인스턴스(instance)
내부 클래스,
정적(static)
내부 클래스,
지역(local)
내부 클래스,
익명(anonymous)
내부 클래스
내부적으로 사용할 클래스를 선언 (private으로 선언하는 것을 권장)
외부 클래스가 생성된 후 생성됨 ( 정적 내부 클래스는 외부클래스명으로 바로 접근 가능 )
private이 아닌 내부 클래스는 다른 외부 클래스에서 생성할 수 있음
OutClass outClass = new OutClass();
//아웃 클래스 객체 하나 만들고
OutClass.InClass inClass = outClass.new InClass();
//그 객체를 통해 인클래스 객체 생성가능