1. 개념
- inner 키워드를 사용해 클래스 안에 클래스 생성 가능.
2. 익명 중첩 클래스
- 추상 클래스나 인터페이스에 정의된 메서드를 Overriding 하여 사용하고자 할 때 상속을 받은 클래스를 만들지 않고자 할 때 사용한다.
- 주로 메서드의 매개변수로 객체를 넘길 때 사용한다. 추상 클래스나 인터페이스로는 객체를 만들 수 없으니까 이걸 사용한다.
- 오버라이딩 할 함수가 1개 라면 람다식을 이용하는게 편하지만, 2개 이상일 땐 익명 중첩 클래스를 이용해야 한다.
fun main(args : Array<String>)
{
var t1 = TestClass2();
test_method3(t1);
//익명 중첩 클래스
test_method3(object : TestClass()
{
override fun test_method1()
{
println("이것이 익명 중첩 클래스");
}
})
}
abstract class TestClass
{
abstract fun test_method1()
}
interface TestInter
{
fun inter_method()
}
class TestClass2 : TestClass()
{
override fun test_method1()
{
println("이것은 그냥 평범하게 자식클래스로 만든것");
}
}
class TestInter2 : TestInter
{
override fun inter_method()
{
}
}
fun test_method3(a1 : TestClass)
{
a1.test_method1();
}
fun testmoethod4(a1 : TestInter)
{
a1.inter_method();
}
'Deperecated > Kotlin' 카테고리의 다른 글
코틀린 - 오브젝트 (0) | 2020.02.05 |
---|---|
코틀린 - 열거형 (0) | 2020.02.05 |
코틀린 - 제네릭 (0) | 2020.02.05 |
코틀린 - 클래스 (0) | 2020.02.05 |
코틀린 - 조건문, 분기문, 반복문 (0) | 2020.02.05 |