Kotlin/ 제너릭

yellow·2021년 4월 15일
0

Kotlin

목록 보기
13/13

제너릭

  • 목적 : 다양한 타입의 객체들을 다루는 메서드나 Collection 클래스에서 컴파일 시에 타입을 체크해주는 기능(예: <>를 쓰는 게 제너릭이라고 생각!)
  • 제너릭은 만들기 어렵고 실제로 만들 일이 거의 없기 때문에 사용하는 방법만 숙지하면 된다.
fun main(args: Array<String>) {

    // 제너릭을 사용하지 않은 경우
    // 형변환을 해줘야한다.
    val list = listOf(1, 2, 3, "가")
    val b: String = list[3].toString() // toString을 통해 String으로 형변환을 해줌

    // 제너릭을 사용하는 경우 -> 타입이 안전하다.
    val list2 = listOf<String>("a", "b", "c")
    val c: String = list2[2] // String이라는 것을 보장받는다.

    // 강한 타입을 체크할 수 있다.
    val list3 = listOf(1, 2, 3, 4, "가", "나", 3.0)
    val list4 = listOf<Int>(1, 2, 3) // 강한 타입 체크

    // 제너릭을 사용하지 않은 경우
    // 부모 클래스: Any
    // 자식 클래스: String, Int, Float
    val list5 = listOf(1, 2, 3, "가") // -> 리스트의 인자의 타입은 "Any"이다.
    // val list5 = listOf<Any>(1, 2, 3, "가") 와 동일한 코드
}
profile
할 수 있어! :)

0개의 댓글