Deperecated/Kotlin

코틀린 - 중첩 클래스

누알라리 2020. 2. 5. 16:46

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