-
[Kotlin] GenericKotlin 2024. 3. 15. 16:18
Generic
클래스나 함수에 사용하는 자료형을 외부에서 지정할 수 있는 기능
함수나 클래스를 선언할 때 고정적인 자료형 대신 실제 자료형으로 대체되는
타입 파라미터를 받아 사용하는 방법fun <T> genericFunc(param:T):T class GenericClass<T>(var pref:T)
<T> 이 부분에서 특정 자료형을 할당하면 제네릭을 사용하는 모든 코드는 할당받은 자료형으로 대체되어 컴파일 된다
fun main() { UsingGeneric(A()).doShouting() UsingGeneric(B()).doShouting() UsingGeneric(C()).doShouting() doSouting(B()) } fun <T:A> doSouting(t:T){ t.shout() } open class A{ open fun shout(){ println("A가 소리친다") } } open class B : A(){ override fun shout(){ println("B가 소리친다") } } open class C:A(){ override fun shout(){ println("C가 소리친다") } } class UsingGeneric<T:A> (val t:T){ fun doShouting(){ t.shout() } }
'Kotlin' 카테고리의 다른 글
[Kotlin] 문자열 다루기 (0) 2024.03.16 [Kotlin] List<out T> , MutableList<T> (0) 2024.03.16 [Kotlin] 다형성 as is (0) 2024.03.15 [Kotlin] 익명객체와 옵저버 패턴 (0) 2024.03.12 [Kotlin] Object (0) 2024.03.12