여러 개의 객체 리턴하기
함수는 보통 1개의 객체를 리턴하지만 2개 이상의 값을 리턴해야 할 때가 있다.
매번 클래스나 배열을 만들어 저장하고 리턴하는 것은 번거롭다.
Kotlin은 Pair와 Triple 객체를 기본으로 제공한다.
Pair은 두 개의 객체를 저장하는 객체이고, Triple은 3개의 객체를 저장하는 객체이다.
Pair와 Triple을 이용하면 간단히 2개 혹은 3개의 객체를 리턴할 수 있다.
Pair 사용 방법
val pair1 = Pair("Hello", "World")
val pair2 = Pair("Hello", 1234)
안에 들어가는 객체의 클래스 또는 자료형은 달라도 상관없다.
자료형은 생략 가능하지만, <타입, 타입>을 통해 명시해줄 수도 있다.
Pair 안에 저장된 객체는 first와 second로 접근할 수 있다.
val pair = Pair("Hello", 1234)
System.out.println(pair.first) //Hello 출력
System.out.println(pair.second) //1234 출력
또는 component1(), component2() 메서드로 리턴할 수도 있다.
val pair = Pair("Hello", 1234)
System.out.println(pair.component1()) //Hello 출력
System.out.println(pair.component2()) //1234 출력
새로운 변수를 선언할 때 Pair를 이용해 쉽게 값을 할당할 수 있다.
val (hello, number) = Pair("Hello", 1234)
첫 번째 객체에는 Hello, 두 번째 객체에는 1234가 할당된다.
코틀린에서 기본으로 제공하는 to 함수를 이용하여 Pair 객체를 생성할 수 있다.
val pair: Pair<String, Int> = "Hello" to 1234
val (hello, number) = "Hello" to 1234
toList() 함수를 이용해 Pair 객체를 list로 바꿀 수 있다.
val pair: Pair<String, Int> = "Hello" to 1234
val list = pair.toList()
println(list[0]) //Hello 출력
Triple 사용 방법
Triple은 세 개의 객체를 할당할 수 있는 객체이다.
기본적인 사용법은 Pair와 같으며, 3번째 객체를 리턴하는 third와 component3()가 추가된다.
'Kotlin' 카테고리의 다른 글
[Kotlin] 열거형(enum) 클래스 (0) | 2023.01.25 |
---|---|
[Kotlin] class와 object 키워드의 차이 (0) | 2023.01.25 |
[Kotlin] 클래스와 접근자 메소드(getter/setter) (0) | 2023.01.23 |
[Kotlin] Null 안전성(Null Safety) (0) | 2023.01.17 |
[Kotlin] 변수(Variable), 자료형(Data type) (0) | 2023.01.17 |