두개의 인스턴스를 반환할 때 Pair 키워드를 사용한다.
var chicken = Chicken() //Chicken 클래스 객체 생성, 인스턴스화
var eggs = chicken.getEggs() //Chicken 클래스의 메소드 실행, 달걀과 맥반석을 묶은 쌍이 반환됨
var listEggs = eggs.toList() //eggs라는 변수(달걀과 맥반석 쌍)를 리스트로 변환
// first, second로 관리
// var firstEgg = eggs.first //리스트의 첫번째 요소, 달걀
// var secondEgg = eggs.second //리스트의 두번째 요소, 맥반석
// 리스트로 관리
var firstEgg = listEggs[0]//리스트의 첫번째 요소, 달걀
var secondEgg = listEggs[1]//리스트의 두번째 요소, 맥반석
println("달걀의 종류는 ${eggs} 입니다.")
println("리스트 달걀의 종류는 ${listEggs} 입니다.")
println("첫번째 달걀의 종류는 ${firstEgg} 입니다.")
println("두번째 달걀의 종류는 ${secondEgg} 입니다.")
}
// Chicken 클래스 정의
class Chicken {
fun getEggs(): Pair<String, String> { //두 개의 문자열을 하나로 묶은 쌍을 반환하는 메소드
var eggs = Pair("달걀", "맥반석") //달걀과 맥반석을 하나의 쌍으로 묶음
return eggs //달걀과 맥반석 쌍 반환
}
}
세개의 인스턴스를 반환할 때 Triple 키워드를 사용한다.
fun main() {
var chicken = Chicken() //Chicken 클래스 객체 생성, 인스턴스화
var eggs = chicken.getThreeEggs() //Chicken 클래스의 메소드 실행, 달걀과 맥반석을 묶은 쌍이 반환됨
var listEggs = eggs.toList() //eggs라는 변수(달걀과 맥반석 쌍)를 리스트로 변환
// first, second, third로 관리
// var firstEgg = eggs.first //리스트의 첫번째 요소, 달걀
// var secondEgg = eggs.second //리스트의 두번째 요소, 맥반석
// var eggTime = eggs.third //리스트의 세번째 요소, 20230101
// 리스트로 관리
var firstEgg = listEggs[0]//리스트의 첫번째 요소, 달걀
var secondEgg = listEggs[1]//리스트의 두번째 요소, 맥반석
var eggTime = listEggs[2]//리스트의 세번째 요소, 20230101
println("달걀의 정보는 ${eggs} 입니다.")
println("리스트 달걀의 정보는 ${listEggs} 입니다.")
println("첫번째 달걀의 종류는 ${firstEgg} 입니다.")
println("두번째 달걀의 종류는 ${secondEgg} 입니다.")
println("달걀은 ${eggTime}에 나왔습니다.")
}
// Chicken 클래스 정의
class Chicken {
fun getTwoEggs(): Pair<String, String> { //두 개의 문자열을 하나로 묶은 쌍을 반환하는 메소드
var eggs = Pair("달걀", "맥반석") //달걀과 맥반석을 하나의 쌍으로 묶음
return eggs //달걀과 맥반석 쌍 반환
}
fun getThreeEggs(): Triple<String, String, Int> { //세 개의 자료형 객체를 하나로 묶은 쌍을 반환하는 메소드
var eggs = Triple("달걀", "맥반석", 20230101) //달걀과 맥반석 20230101을 하나의 쌍으로 묶음
return eggs //달걀, 맥반석, 20230101 반환
}
}