@클래스안에 만드는 클래스를 중첩 클래스라고 한다
- 내부의 클래스는 외부의 클래스의 객체를 통해서만 객체를 생성할 수 있다.
- 외부의 클래스는 내부의 클래스 멤버를 사용할 수 없고 내부의 클래스는 외부의 클래스 멤버를 사용할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | fun main(args : Array<String>){ var a1 = Outer1() var a2 = a1.outer_member println(a2) var a3 = Outer1().inner1() var a4 = a3.inner_member println(a4) } class Outer1{ var outer_member = 100 inner class inner1{ var inner_member = 200 fun inner_method(){ println(outer_member) } } fun outer_method(){ } } | cs |
결과:
100
200