[TIL] 2023.11.29

Gahyeon Leeยท2023๋…„ 11์›” 29์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
13/47
post-thumbnail

๐Ÿช ๋ฉ”์†Œ๋“œ ์„ค๊ณ„

โ–ถ๏ธ ๋ฉ”์†Œ๋“œ๋ž€?

  • ์†Œ์Šค์ฝ”๋“œ์— ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ๊ฒƒ
  • ํŠน์ •ํ•œ ๋กœ์ง์„ ๊ฐ€์ง€๋Š” ์†Œ์Šค์ฝ”๋“œ์— ๋ณ„๋ช…(์ด๋ฆ„)์„ ๋ถ™์ผ ์ˆ˜ ์žˆ๊ณ , ์ด ์ด๋ฆ„์ด ๋ถ™์€ ๋กœ์ง์„ ๋ฉ”์†Œ๋“œ๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

โ–ถ๏ธ Kotlin์˜ ๋ฉ”์†Œ๋“œ ๊ตฌ์กฐ

fun ๋ฉ”์†Œ๋“œ์ด๋ฆ„(๋ณ€์ˆ˜๋ช…:์ž๋ฃŒํ˜•, ๋ณ€์ˆ˜๋ช…:์ž๋ฃŒํ˜•, ...) : ๋ฐ˜ํ™˜์ž๋ฃŒํ˜• {
		์†Œ์Šค์ฝ”๋“œ ๋กœ์ง						// '๋ณ€์ˆ˜๋ช…:์ž๋ฃŒํ˜•' ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ผ๊ณ  ํ•จ(parameter)
}

โ–ถ๏ธ ๋ฉ”์†Œ๋“œ๋Š” ์–ด๋””์— ์“ฐ์ผ๊นŒ?

  • ๋กœ์ง์„ ์ถ”์ƒํ™”ํ•ด๋†“๊ณ  ์ƒํ™ฉ์— ๋งž๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ •ํ•ด์ง„ ๊ฐ’(ex> 3+5=8)๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ถ”์ƒํ™”ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค๊ณ , ํŒŒ๋ผ๋ฏธํ„ฐ์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์— ๋”ฐ๋ผ์„œ ๋กœ์ง์„ ํƒœ์›Œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
    - ์ถ”์ƒํ™”(Abstraction) : ๊ณตํ†ต์˜ ์†์„ฑ์ด๋‚˜ ๊ธฐ๋Šฅ์„ ๋ฌถ์–ด ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ์ฒด ์ง€ํ–ฅ์  ๊ด€์ ์—์„œ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ, ๋ณต์žกํ•œ ๊ตฌ์กฐ ยท ์›๋ฆฌ ยท ์„ค๋ช…์„ ๊ฐ„์ถ”๋ฆฌ๊ณ  ํ•ต์‹ฌ๋งŒ ๋งํ•˜๋Š” ๊ฒƒ
    ex) ๋งค์ผ ์˜ค์ „10์‹œ์˜ 5๋งŒ์›์ด์ƒ์˜ ์ฃผ์‹ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ๋ฉ”์ผ๋กœ ์ „์†ก
  • fun main() {}๋„ ๋ฉ”์†Œ๋“œ์ด๋‹ค. Kotlin์—์„œ๋Š” ํ•ญ์ƒ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹œ์ž‘์ ์€ main ํ•จ์ˆ˜๋ผ๊ณ  ์ •ํ•ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— mainํ•จ์ˆ˜๋Š” ํ˜ธ์ถœํ•˜์ง€ ์•Š์•„๋„ ์‹คํ–‰ํ•  ๋•Œ ์•Œ์•„์„œ ์‹คํ–‰ํ•œ๋‹ค.

โ–ถ๏ธ ์˜ˆ์‹œ ์ฝ”๋“œ

// ๋‘ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋”ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค๊ณ , ์ „๋‹ฌํ•˜๋Š” ์ˆซ์ž์— ๋”ฐ๋ผ ๋ง์…ˆ๊ฒฐ๊ณผ ์•Œ๋ ค์ฃผ๊ธฐ
fun main() {
        var num1 = readLine()!!.toInt()
        var num2 = readLine()!!.toInt()

        // sum์ด๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœ!(ํ•„์ˆ˜๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์–ด์ค˜์•ผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ)
        sum(num1, num2)
    }

    fun sum(num1:Int, num2:Int) {    // sum๋ฉ”์†Œ๋“œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ num1๊ณผ num2๋ฅผ ์š”๊ตฌ
        var result = num1 + num2
        println("num1๊ณผ num2์˜ ๋ง์…ˆ๊ฒฐ๊ณผ๋Š” ${result}์ž…๋‹ˆ๋‹ค.")
    }
}

  • ์˜ค๋Š˜์˜ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฉ”์†Œ๋“œ ๋งŒ๋“ค๊ธฐ
fun main() {
    // displayInfo๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœ!
    displayInfo()
}

fun displayInfo() : Unit {          // ๋ฐ˜ํ™˜์ž๋ฃŒํ˜•์ด ์—†์„ ๋•Œ๋Š” Unit์œผ๋กœ ๋ช…์‹œํ•˜๊ฑฐ๋‚˜ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ์Œ. ๋ฉ”์†Œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜์„œ์˜ ๊ฒฐ๊ณผ๋ฅผ main์— returnํ•ด์ฃผ๊ณ  ์‹ถ์„ ๋•Œ(์•Œ๋ ค์ฃผ๊ณ  ์‹ถ์„ ๋•Œ) ๋ฐ˜ํ™˜์ž๋ฃŒํ˜•์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ์ด ์ฝ”๋“œ๋Š” ์ค„ ๊ฒŒ ์—†๋Š” ์ฝ”๋“œ์ด๋‹ค.
    println("์˜ค๋Š˜์˜ ๋‚ ์”จ๋Š” ํ™”์ฐฝํ•ฉ๋‹ˆ๋‹ค")
    println("์˜ค๋Š˜์€ ๊ฒ€์ •์ƒ‰์„ ์กฐ์‹ฌํ•˜์„ธ์š”")
}
  • ์ˆ˜ํ•™์ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋“ฑ๊ธ‰์„ ์ถœ๋ ฅํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ
fun main() {
    var mathScore = readLine()!!.toInt()
    var myRank = checkRank(mathScore)            // checkRank๋ณ€์ˆ˜์˜ ๊ฒฐ๊ณผ(๊ฐ’)๋ฅผ myRank์— ๋Œ€์ž…
    println("๋‹น์‹ ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ ๋“ฑ๊ธ‰์€ ${myRank}๋“ฑ๊ธ‰์ž…๋‹ˆ๋‹ค.")
}

fun checkRank(score: Int): String {              // checkRank๋ฉ”์†Œ๋“œ๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ score๋ฅผ ์š”๊ตฌ
    return when(score) {
        in 91 .. 100 -> "A"
        in 81 .. 90 -> "B"
        in 71 .. 80 -> "C"
        else -> "D"
    }
}
/* ๊ฒฐ๊ณผ
95
๋‹น์‹ ์˜ ์ˆ˜ํ•™ ์ ์ˆ˜ ๋“ฑ๊ธ‰์€ A๋“ฑ๊ธ‰์ž…๋‹ˆ๋‹ค. */


/* Kotlin ์ปจ๋ฒค์…˜์„ ๋”ฐ๋ฅด์ง€ ์•Š์€ ํ˜•ํƒœ
if(score >= 90) {
return "A"
} else if(score >= 80) {
return "B"
} else if(score >= 70) {
return "C"
} else {
return "D"
} */

๐Ÿช ํด๋ž˜์Šค ์„ค๊ณ„

โ–ถ๏ธ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?

  • Object Oriented Programming (OOP)
  • ์ฝ”ํ‹€๋ฆฐ์€ ๋ชจ๋“ ๊ฒƒ์ด ํด๋ž˜์Šคํ˜•ํƒœ์ด๋ฏ€๋กœ ๊ฐ์ฒดํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ƒํ™”์‹œ์ผœ ์ƒํƒœ์™€ ํ–‰์œ„๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค.
  • ๊ฐ์ฒด๋“ค๊ฐ„์˜ ์ ์ ˆํ•œ ๊ฒฐํ•ฉ์„ ํ†ตํ•ด ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ•œ๋‹ค.
  • 5๋Œ€ ํ‚ค์›Œ๋“œ
    • ํด๋ž˜์Šค
    • ์ถ”์ƒํ™”
    • ์บก์Аํ™”
    • ์ƒ์†
    • ๋‹คํ˜•์„ฑ
  • ์ž๋ฃŒ

โ–ถ๏ธ ํด๋ž˜์Šค๋ž€?

  • ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ ์š”์†Œ๋ณ„ ์„ค๊ณ„๋„๋ผ๊ณ  ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ์„ค๊ณ„๋„๋ฅผ class๋ผ๋Š” ํ‚ค์›Œ๋“œ๋กœ ๋งŒ๋“ ๋‹ค.
  • ํด๋ž˜์Šค๋ผ๋Š” ์„ค๊ณ„๋„์—๋Š” ์ •๋ณด(ํ”„๋กœํผํ‹ฐ)์™€ ํ–‰์œ„(๋ฉ”์†Œ๋“œ)๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  • ๋ณดํ†ต ํ•˜๋‚˜์˜ ํŒŒ์ผ์€ ํ•œ๊ฐœ์˜ ํด๋ž˜์Šค๋ฅผ ์˜๋ฏธํ•˜์ง€๋งŒ, ํ•˜๋‚˜์˜ ํŒŒ์ผ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

[ Kotlin์˜ ํด๋ž˜์Šค ๊ตฌ์กฐ ]

class ํด๋ž˜์Šค์ด๋ฆ„ {
	  ์ •๋ณด(ํ”„๋กœํผํ‹ฐ)1
	  ์ •๋ณด(ํ”„๋กœํผํ‹ฐ)2

	  ํ–‰์œ„(๋ฉ”์†Œ๋“œ)1
	  ํ–‰์œ„(๋ฉ”์†Œ๋“œ)2
}

[ ํŠน๋ณ„ํ•œ ํด๋ž˜์Šค๋“ค ] โญ๏ธโญ๏ธโญ๏ธโญ๏ธโญ๏ธ

1. ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค (data class)

data class ํด๋ž˜์Šค์ด๋ฆ„ {
		์ •๋ณด1
		์ •๋ณด2
}
  • ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ์ •๋ณด(ํ”„๋กœํผํ‹ฐ)๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.
  • ์ •๋ณด๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด์„œ ์„ค๊ณ„ํ•˜๋ ค๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ๊ท€์ฐฎ์€๋ฐ, ์ด๋Ÿด ๋•Œ data class ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์šฐ ๊ฐ„ํŽธํ•ด์ง„๋‹ค.
  • ๊ธฐ๋ณธ ์ƒ์„ฑ์ž์— 1๊ฐœ ์ด์ƒ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜๋กœ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค.
  • ์œ ์šฉํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค.
    - hashCode(): ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ์œ ๊ฐ’์„ ๋ฆฌํ„ดํ•ด์คŒ
    - eqauals(): ๋™์ผํ•œ ๊ฐ์ฒด์ธ์ง€ ๋น„๊ตํ•ด์„œ true ๋˜๋Š” false๋ฅผ ๋ฆฌํ„ดํ•ด์คŒ
    - copy(): ํ˜„์žฌ ๊ฐ์ฒด์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•ด์คŒ
    - toString(): ํ˜„์žฌ ๊ฐ์ฒด์˜ ๋ชจ๋“  ์ •๋ณด(ํ”„๋กœํผํ‹ฐ)๋ฅผ ์˜ˆ์˜๊ฒŒ ์ถœ๋ ฅํ•ด์คŒ
    - getXXX()/setXXX(๋งค๊ฐœ๋ณ€์ˆ˜): ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•ด์คŒ

2. ์‹ค๋“œ ํด๋ž˜์Šค (sealed class)

sealed class ๋ถ€๋ชจํด๋ž˜์Šค {
	class ์ž์‹ํด๋ž˜์Šค1 : ๋ถ€๋ชจํด๋ž˜์Šค์ƒ์„ฑ์ž
	class ์ž์‹ํด๋ž˜์Šค2 : ๋ถ€๋ชจํด๋ž˜์Šค์ƒ์„ฑ์ž
}
  • ํด๋ž˜์Šค ์ƒ์†๊ณผ ๊ด€๋ จ๋œ ๊ฐœ๋…
  • ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ž์‹ํด๋ž˜์Šค๋“ค์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฌด๋ถ„๋ณ„ํ•œ ์ƒ์†์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ปดํŒŒ์ผ ์‹œ์ ์— ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ž์‹์„ ์•Œ ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ํšจ์œจ์ ์œผ๋กœ ๋‹คํ˜•์„ฑ์„ ๊ตฌํ˜„ํ•œ๋‹ค.

3. ์˜ค๋ธŒ์ ํŠธ ํด๋ž˜์Šค (object class)

  • Java์˜ static ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ
  • ์›๋ž˜ class๋ผ๋Š” ์„ค๊ณ„๋„๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ”๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒŒ ์•„๋‹Œ๋ฐ, ์˜ค๋ธŒ์ ํŠธ ํด๋ž˜์Šค๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ”๋กœ ์˜ฌ๋ผ๊ฐ€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. (ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋™์‹œ์— ์ธ์Šคํ„ด์Šคํ™”)
  • (์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณ ๊ธ‰๋ฌธ๋ฒ• ์‹œ๊ฐ„์—..)

4. ์—ด๊ฑฐ ํด๋ž˜์Šค (enum class) ??

enum class ํด๋ž˜์Šค1 {
    C, JAVA, KOTLIN
}

enum class ํด๋ž˜์Šค2(val code: Int) {
    C(10),
    JAVA(20),
    KOTLIN(30)
}

fun main() {
    println(ํด๋ž˜์Šค1.C.toString()) // ์ถœ๋ ฅ: C
    println(ํด๋ž˜์Šค2.KOTLIN.code) // ์ถœ๋ ฅ: 30
    println(ํด๋ž˜์Šค2.KOTLIN.name) // ์ถœ๋ ฅ: KOTLIN
}
  • ์—ฌ๋Ÿฌ ๊ณณ์— ๋™์ผํ•œ ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜, ์ƒ์ˆ˜ ์™ธ๋ถ€์— ๊ด€๋ จ๋œ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ฒŒ ๋˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์ฆ๊ฐ€ํ• ์ˆ˜๋ก ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ค์›Œ์ง„๋‹ค. ์ด ๋•Œ enum class๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ์ˆ˜๊ฐ’์— ๋Œ€ํ•œ ๊ด€๋ฆฌ ์ง€์ ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • Comparable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์ถ”์ƒ ํด๋ž˜์Šค์ด๋‹ค.
    (์™„๊ฐ• ํ›„ ๋‹ค์‹œ ์ดํ•ดํ•ด ๋ณด์ž..)

[ ํด๋ž˜์Šค ์‚ฌ์šฉ ์œ„์น˜ ]

  • ์–ด๋–ค ์š”์†Œ์— ๋Œ€ํ•ด ์„ค๊ณ„๋ฅผ ํ•  ๋•Œ
    ex) ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ • ์บ๋ฆญํ„ฐ๋“ค์˜ ์„ค๊ณ„๋„๋ฅผ ์ž‘์„ฑ
// ์‹ ๊ทœ ๊ฒŒ์ž„ ์บ๋ฆญํ„ฐ์˜ ๋จธ๋ฆฌ์ƒ‰์ƒ(์ •๋ณด)์€ ๋นจ๊ฐ•์ด๊ณ , ์Šคํ‚ฌ(ํ–‰์œ„)์€ ํŒŒ์ด์–ด๋ณผ์ด๋ผ๋Š” ์ •๋ณด๋ฅผ ํด๋ž˜์Šค์— ์ž‘์„ฑํ•ด๋ณด์ž
// ๊ฒŒ์ž„ ๋ฐฐ๊ฒฝ์— ๋ฐฐ์น˜ํ•  ๋‚˜๋ฌด๋“ค์˜ ๋†’์ด, ์ƒ‰์ƒ ๋“ฑ(์ •๋ณด)๋ฅผ ํด๋ž˜์Šค์— ์ž‘์„ฑํ•ด๋ณด์ž
fun main() {
    
}                         // main์— ์•„๋ฌด๊ฒƒ๋„ ์—†์œผ๋‹ˆ ์‹คํ–‰ํ•ด ๋ด๋„ ์•„๋ฌด๊ฒƒ๋„ ์‹คํ–‰ ์•ˆ ๋จ(class ์„ค๊ณ„๋งŒ ํ•ด ๋†“์€ ์ƒํƒœ)

class Character {                // ์–ด๋–ค ์„ค๊ณ„๋„๋ฅผ ๋งŒ๋“ค์ง€ ์ด๋ฆ„ ์ •ํ•ด์ฃผ๊ณ , ๋ณ€์ˆ˜ ์„ ์–ธ
    var name:String = ""         // ๋ณ€์ˆ˜ ๋งŒ๋“ค ๋•Œ :๊ณผ ์ž๋ฃŒํ˜•์€ ๊ผญ ์“ฐ๊ธฐ!
    var hairColor:String = ""
    var height:Double = 0.0      // ์—ฌ๊ธฐ๊นŒ์ง€ ์ •๋ณด์ด์ž ํ”„๋กœํผํ‹ฐ

    fun fireBall() {
        println("ํŒŒ์ด์–ด๋ณผ!")
    }
    fun compositing(device1:String, device2:String): String {
        var device3 = device1 + device2
        println("์ƒˆ๋กœ์šด ๋ฌด๊ธฐ์ธ ${device3}์ž…๋‹ˆ๋‹ค")
        return device3
    }                			 // ์—ฌ๊ธฐ๊นŒ์ง€ ํ–‰์œ„์ด์ž ๋ฉ”์†Œ๋“œ
}
profile
์ฝ”๋ฆฐ์ด ๊ฐ•์•„์ง€ ์ง‘์‚ฌ๐Ÿถ

0๊ฐœ์˜ ๋Œ“๊ธ€