들어가기 전에
특정 형식을 지정하지 않고 일반화된 용어를 사용해 그때 그때 바꿔서 사용하면 어떨까요? 제네릭(generic)은 자료형을 일반화해 '형식 매개변수'라는 용어를 사용해 정의할 수 있습니다.
핵심 키워드
- 형식 매개변수
- 제네릭
학습하기
들어가기 전에
특정 형식을 지정하지 않고 일반화된 용어를 사용해 그때 그때 바꿔서 사용하면 어떨까요? 제네릭(generic)은 자료형을 일반화해 '형식 매개변수'라는 용어를 사용해 정의할 수 있습니다.
핵심 키워드
학습하기
제네릭(generic)은 클래스 내부에서 사용할 자료형을 나중에 인스턴스를 생성할 때 확정합니다. 제네릭이 나오게 된 배경은 자료형의 객체들을 다루는 메서드나 클래스에서 컴파일 시간에 자료형을 검사해 적당한 자료형을 선택할 수 있도록 하기 위해서 입니다. 제네릭을 사용하면 객체의 자료형을 컴파일 시에 체크하기 때문에 객체 자료형의 안정성을 높이고 형 변환의 번거로움이 줄어듭니다.
제네릭을 사용하기 위해 앵글 브래킷(<>) 사이에 형식 매개변수를 사용해 선언하고 매개변수는 하나 이상 지정할 수 있습니다.
class Box<T>(t: T) { // 제네릭을 사용해 형식 매개변수를 받아 name에 저장
var name = t
}
fun main() {
val box1: Box<Int> = Box<Int>(1)
val box2: Box<String> = Box<String>("Hello")
println(box1.name)
println(box2.name)
}
Box의 <T> 부분이 제네릭 자료형의 형식 매개변수 이름입니다. 보통 Type의 줄인 T라는 용어를 사용하고 있습니다. 꼭 T를 사용해야 한다는 강제적인 사항은 없습니다.
http://www.yes24.com
comment