Akashic Records

제네릭 본문

Kotlin for Beginners

제네릭

Andrew's Akashic Records 2023. 6. 2. 11:06
728x90

제네릭은 타입을 파라미터로 가지는 클래스와 인터페이스를 정의하는 프로그래밍 기법입니다. 제네릭을 사용하면 다양한 타입의 객체를 사용할 수 있으며, 컴파일 시간에 타입 안정성을 제공하므로 코드의 재사용성과 유연성을 높입니다.

 

  1. 제네릭 클래스

제네릭 클래스는 하나 이상의 타입 파라미터를 가질 수 있습니다. 이 파라미터는 클래스 내에서 변수나 함수의 타입으로 사용됩니다.

예제:

class Box<T>(val content: T)

val intBox = Box(1)
val stringBox = Box("Hello")

println(intBox.content)  // 출력: 1
println(stringBox.content)  // 출력: Hello

이 예제에서 Box 클래스는 T 타입 파라미터를 가집니다. Box(1)Box<Int> 인스턴스를 생성하고 Box("Hello")Box<String> 인스턴스를 생성할 수 있습니다.

 

  1. 제네릭 함수

제네릭 함수는 함수 선언에 타입 파라미터를 포함합니다. 이 함수는 호출 시에 다양한 타입으로 사용될 수 있습니다.

예제:

fun <T> printContent(box: Box<T>) {
    println(box.content)
}

printContent(intBox)  // 출력: 1
printContent(stringBox)  // 출력: Hello

이 예제에서 printContent 함수는 Box<T> 타입 파라미터를 가집니다. printContent(intBox)printContent(stringBox)로 다양한 타입의 Box 인스턴스를 인자로 넘길 수 있습니다.

 

제네릭은 코드의 재사용성을 높이고 타입 안정성을 제공하는데 중요한 역할을 합니다. 제네릭을 사용하면 한 코드가 다양한 타입에 대응할 수 있으므로 개발 과정에서 훨씬 더 유연하고 안정적인 프로그램을 만들 수 있습니다.

728x90

'Kotlin for Beginners' 카테고리의 다른 글

비동기 프로그래밍  (0) 2023.06.02
코루틴의 이해  (0) 2023.06.02
컬렉션  (0) 2023.06.02
고차 함수  (0) 2023.06.02
익스텐션 함수  (0) 2023.06.02
Comments