작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
152
·
수정됨
0
package generic.test.ex3
object UnitPrinter { //제네릭 메서드
fun <T : BioUnit>printerV1(t: Shuttle<T>){
println(t.showInfo())
}
fun printerV2(shuttle: Shuttle<out BioUnit>){
println(shuttle.showInfo())
}
fun <T : BioUnit>printerV3(t: Shuttle<T>){
val unit = t.out()
println("이름: ${unit.name} hp:${unit.hp}")
}
fun printerV4(shuttle: Shuttle<out BioUnit>){
val unit = shuttle.out()
println("이름: ${unit.name} hp:${unit.hp}")
}
}
자바와 코틀린은 100퍼센트 호환이 된다고 해서 코틀린으로 강의를 보고있습니다.
강의에선 v1과 v2로 인자로 받은 셔틀에서 unit을 꺼내어 내용을 출력했는데요. 그렇게 안하고 셔틀에서 바로showinfo를 호출해서 실행창에
name : 마린 hp : 40
kotlin.Unit
name : 마린 hp : 40
kotlin.Unit
이렇게 줄바꿈으로 kotlin.Unit이라는게 자동적으로 붙는데 왜이런건가요 . 강의에서처럼 unit을꺼내어서 출력하면 안붙습니다.