Kotlin TIL(6) [자료형 변환, 업 캐스팅]

jxxn_a·2023년 7월 24일
0

TIL

목록 보기
6/28

* 자료형 변환

일반 자료형간의 변환 예시

  • 숫자 자료형끼리는 to자료형()메소드를 활용할 수 있다.
  • 문자열을 숫자로 변경할 때는 별도로 메소드가 필요하다.
var num1 = 50
var num2 = 10.2

var num3 = num2.toInt()
var num4 = num1.toDouble()

var strNum5 = "20"
var strNum6 = "30.2"

var num5 = Interger.parseInt(strNum5)
var num6 = strNum6.toDouble()

println("num3: $num3")
println("num4: $num4")
println("num5: $num5")
println("num6: $num6")

- 객체 자료형간의 변환 예시

  • 객체 자료형간의 변환은 상속관계에서 가능하다.

1) 업 캐스팅(자식클래스를 부모클래스의 자료형으로 객체 생성)

fun main() {
    println("몇 개를 생성하시겠습니까?")
    var count = readLine()!!.toInt()
    var fruits = mutableListof<Fruit>()
    
    for(idx in 0..count-1) {
        println("과일의 이름을 작성해주세요.")
        var name = readLine()!!
        
        fruits.add(Sparrow(name) as fruit)
     }
     printlin("====== 과일 생성 완료 ======")
     for(fruit in fruits) {
         fruit.sweet()
     }
}

open class fruit(name: String) {
    var name: String
    
    init {
        this.name = name
    }
    
    fun sweet() {
        println("${name}이름의 과일은 달콤해요")
    }
}

class Sparrow(name: String): Fruit(name) {

}

0개의 댓글