Kotlin this, super
Kotlin this, super this 객체 자기 자신을 지칭한다. 멤버 변수와 메서드 내부의 변수를 구분할 때 사용한다. 멤버 메서드와 메서드 내부의 메서드를 구분할 떄 사용한다. 생성자에서 다른 생성자를 호출할 때 사용한다. fun main () { val obj1 = TestClass1() obj1.testMethod1() } class TestClass1 { var a1 = 100 fun testMethod1 () { var a1 = 200 println ( "a1 : $ a1 " ) println ( "this.a1 : $this .a1" ) } } this는 객체 자신을 의미하기때문에, 클래스 자체의 멤버변수 100 을 출력한다. 코틀린에서는 메서드 안에 메서드를 만드는게 가능하다. fun main () { val obj1 = TestClass1() obj1.testMethod1() } class TestClass1 { var a1 = 100 fun testMethod1 () { fun testMethod2 () { println ( "testMethod1 내부의 testMothod1" ) } testMethod2() // 내부 함수 호출 this .testMethod2() // 클래스 멤버의 메서드 호출 } fun testMethod2 () { println ( "testMethod2" ) } } 근데, 누가 이렇게 쓸까, 동일클래스에서 클래스 멤버변수랑 메서드 내부 멤버변수의 이름을 동일하게 하거나, 클래스 멤버 메서드랑 내부 멤버 메서드 이름을 동일하게 할 경우는 없을 것으로 생각된다. 아마 정적검사툴이나 보안체크툴에서