: 클래스 안에 클래스를 정의하는 클래스
: 하나의 클래스가 다른 클래스의 기능과 강하게 연관되어 있다는 의미를 전달하기 위해 만들어진 형식

Outer.Nested() // 호출 시 부르는 방법
class Outer {
class Nested {
}
}
: 혼자서 객체를 만들 수는 없고, 외부 클래스의 객체가 있어야만 생성과 사용이 가능한 클래스

class Outer {
inner class Inner {
}
}
위와 같은 형태로 내부 클래스 정의 시에는 클래스 앞에 inner라는 키워드를 명시해야 한다.

Outer 클래스 안에 Nested라는 중첩 클래스를 선언하고, Inner라는 내부 클래스를 선언하였다.
outer.text에서 헷갈릴 수 있ㄴ느데 outer은 Outer클래스의 text값을 업데이트한 것이기 때문에 inner.introduceOuter() 함수는 외부 클래스인 Outer클래스의 text를 참조하고, Changed Outer Class로 출력하게 된다.