• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

shuttle.showinfo를 호출시 실행창 질문

24.06.28 20:51 작성 24.06.28 20:52 수정 조회수 60

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을꺼내어서 출력하면 안붙습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 준호님

코틀린 관련해서는 도움을 드리기 어렵습니다.

감사합니다.

채널톡 아이콘