ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Swift] Function - 2 (Variadic Parameter, In-Out Parameter)
    Swift 2022. 2. 15. 02:39

    (๋ชจ๋“  ์ฝ”๋“œ๋Š” Playground์—์„œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.)

     

    ์ €๋ฒˆ ์‹œ๊ฐ„์— ์ด์–ด ์ด๋ฒˆ์—๋Š” Variadic Parameter (๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ)์™€ In-Out Parameter (์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค.

     

    1. Variadic Parameter (๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ)

    ์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ ํ•˜๋‚˜์— ์ธ์ž ํ•˜๋‚˜๋ฅผ ์ „๋‹ฌํ–ˆ์—ˆ๋‹ค. 

    ๊ทธ๋ ‡๋‹ค๋ฉด, ํŒŒ๋ผ๋ฏธํ„ฐ ํ•˜๋‚˜๋กœ ์—ฌ๋Ÿฌ ์ธ์ž๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜๋Š” ์—†์„๊นŒ?

    ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค.

     

    ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ด๋ฆ„์ฒ˜๋Ÿผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ž๊ฐ€ ๊ณ ์ •๋˜์–ด์žˆ์ง€ ์•Š๊ณ  ๊ฐ€๋ณ€์ ์ด๋ฉฐ, ํ•˜๋‚˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ 2๊ฐœ ์ด์ƒ์˜ ์ธ์ž (argument) ๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ, ์ธ์ž๋Š” ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ํ•จ์ˆ˜ ๋‚ด์— ์ „๋‹ฌ๋œ๋‹ค.

     

    ๋ฌธ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

    func variadicFunc(_ param: Type...) {
    	// Code
    }

    ํ˜„์žฌ Argument Label์€ ์™€์ผ๋“œ์นด๋“œ ํŒจํ„ด์œผ๋กœ ์ƒ๋žตํ–ˆ๊ณ , ํŒŒ๋ผ๋ฏธํ„ฐ param์€ Type... ๋กœ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

    ์ด๋ ‡๊ฒŒ ํƒ€์ž… ๋’ค์— ...์„ ๊ณต๋ฐฑ ์—†์ด ๋ถ™์ด๋ฉด ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋œ๋‹ค.

     

     

    ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž.

     

    ์ด ํ•จ์ˆ˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌํ•ด์„œ ๊ทธ ์ˆซ์ž๋“ค์˜ ์ดํ•ฉ์„ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

    nums๊ฐ€ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ์ด๊ณ , ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆซ์ž๋“ค์„ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๋ฉด ๊ทธ ์ˆซ์ž๋“ค์ด ๋ฐฐ์—ด๋กœ ํ•จ์ˆ˜ ๋‚ด๋กœ ์ „๋‹ฌ๋œ๋‹ค.

    ๋”ฐ๋ผ์„œ 1, 2, 3์„ ์ „๋‹ฌํ–ˆ์„ ๋•Œ์—๋Š” 6์ด, 1, 2, 3, 4, 5๋ฅผ ์ „๋‹ฌํ–ˆ์„ ๋•Œ์—๋Š” 15๊ฐ€, 100, 200, 300์„ ์ „๋‹ฌํ–ˆ์„ ๋•Œ์—๋Š” 600์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

    ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ• ๊นŒ? ๊ฐ€๋Šฅํ•˜๋‹ค!

    ์‚ฌ์‹ค ์ด์ „์—๋Š” ํ•จ์ˆ˜ ๋‚ด์—์„œ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ 1๊ฐœ๋งŒ ์“ธ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ Swift 5.4์™€ Xcode 12.5๋กœ ๋„˜์–ด์˜ค๋ฉด์„œ, ํ•จ์ˆ˜ ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

     

    ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž.

    ์ด ํ•จ์ˆ˜๋Š” ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ nums, doubleNums, seasons๋ฅผ ๊ฐ–๋Š”๋‹ค. 

    ์ง€๊ธˆ์€ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๊ณง Argument Label์ด๋‹ค. ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ์—๋„ Argument Label์„ ์จ์ฃผ์–ด์•ผํ•œ๋‹ค.

     

    ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

     

    ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งŽ์„ ๋•Œ์—๋Š” ๋ฐ”๋กœ ์œ„์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์ด Argument Label์„ ๋ฐ˜๋“œ์‹œ ์จ์•ผํ•œ๋‹ค.

    Argument Label์„ ์“ฐ์ง€ ์•Š์œผ๋ฉด, ์ธ์ž๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ „๋‹ฌํ•  ๋•Œ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํ•ด๋‹นํ•˜๋Š” ์ธ์ž๊ฐ€ ์–ด๋–ค ํŒŒ๋ผ๋ฏธํ„ฐ์— ํ•ด๋‹นํ•˜๋Š” ์ธ์ž์ธ์ง€ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

     

    ๋ฐ‘์˜ ์˜ˆ์‹œ๋Š” 2๊ฐœ์˜ Argument Label์„ ์ƒ๋žตํ•œ ๊ฒƒ์ด๋‹ค.

     

    ์ด๋ ‡๊ฒŒ Argument Label์„ ์ƒ๋žตํ•˜๋ฉด, ์–ด๋–ค ํŒŒ๋ผ๋ฏธํ„ฐ์— ํ•ด๋‹นํ•˜๋Š” ์ธ์ž์ธ์ง€ ๋ช…ํ™•ํžˆ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

    ๋”ฐ๋ผ์„œ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” Argument Label์„ ์ƒ๋žตํ•˜์ง€ ์•Š๋„๋ก ํ•˜์ž.

     

     

     

    ํ•˜์ง€๋งŒ Argument Label์„ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.

    ์•„๋ž˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์ œ์ผ ์•ž์˜ Argument Label๋งŒ ์ƒ๋žตํ•˜๊ณ  ๊ทธ ๋’ค์˜ ๋ชจ๋“  Argument Label์„ ๋ช…์‹œํ•ด์ฃผ๋ฉด, ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์–ด๋””๋ถ€ํ„ฐ ์–ด๋””๊นŒ์ง€๊ฐ€ ์–ด๋–ค ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ธ์ž์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฐ๊ณผ๋„ ์ œ๋Œ€๋กœ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

     

    ์ถ”๊ฐ€๋กœ, ์ผ๋ฐ˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์žฅ ๋’ค์— ์จ์•ผํ•œ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž.

    ์ด ํ•จ์ˆ˜๋Š” ๋‘๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค. ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ, ์ž๋™์œผ๋กœ 1์€ nums์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๊ณ , ๋‚˜๋จธ์ง€ ์ธ์ž๋“ค์€ doubleNums๋กœ ์ „๋‹ฌ์ด ๋œ๋‹ค. 

     

     

    ํ•˜์ง€๋งŒ ์•„๋ž˜ ์˜ˆ์‹œ๋Š” ๋‹ค๋ฅด๋‹ค. 

    ์œ„ ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พผ ๊ฒƒ์ธ๋ฐ, ์•ž์— ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์˜จ๋‹ค.

    ์ด ๋•Œ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์•ž์„œ ๋งํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์–ด๋–ค ์ธ์ž๊นŒ์ง€๊ฐ€ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ์ธ์ง€ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

    ๋”ฐ๋ผ์„œ ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์ผ๋ฐ˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ™์ด ์“ธ ๋•Œ, ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋’ค์— ์จ์ฃผ๋„๋ก ํ•˜์ž.

     

     

    ๊ทธ๋ฆฌ๊ณ  ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๊ธฐ๋ณธ ๊ฐ’์„ ์„ ์–ธํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์„ ์•Œ์•„๋‘๋„๋ก ํ•˜์ž.

     

     

    2. In-Out Parameter (์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ)

    ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌ๋œ ๊ฐ’์€ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž„์‹œ ์ƒ์ˆ˜์ด๋ฏ€๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.

    ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค.

     

    ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌ๋œ ๊ฐ’์„ ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ง์ ‘ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. 

    ๋ฌธ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด ํƒ€์ž… ์•ž์— Inout ํ‚ค์›Œ๋“œ๋ฅผ ์จ์ฃผ๋ฉด ๋œ๋‹ค. 

    func inOutFunc(_ a: inout Int, _ b: inout Int) {
    	// Code
    }

     

     

    ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง„ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ์—๋Š” ์ธ์ž ์•ž์— &๋ฅผ ๋ฐ˜๋“œ์‹œ ๋ถ™์—ฌ์ฃผ์–ด์•ผํ•œ๋‹ค.

    ์œ„์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

    var num1 = 1
    var num2 = 2
    
    inOutFunc(&num1, &num2)

     

     

    ์•„๋ž˜ ํ•จ์ˆ˜์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌ๋œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.

     

     

    ์ด๋ฒˆ์—๋Š” inout ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์„ ์–ธํ•˜์˜€๋‹ค.

    ์˜ค๋ฅ˜ ์—†์ด ์ž˜ ์‹คํ–‰์ด ๋˜๊ณ , ์‹คํ–‰ ๊ฒฐ๊ณผ num1๊ณผ num2๊ฐ€ ์„œ๋กœ ๋ฐ”๋€ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

     

     

    ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” Copy-In, Copy-Out ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

    inOutFunc์—์„œ ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์žˆ๋Š”๋ฐ, num1๊ณผ num2์— ์ €์žฅ๋œ ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ์ „๋‹ฌํ•œ๋‹ค. ์ด๋ฅผ Copy-In์ด๋ผ๊ณ  ํ•œ๋‹ค.

    ํ•จ์ˆ˜๊ฐ€ ๋ชจ๋‘ ์‹คํ–‰๋˜๊ณ  ์ข…๋ฃŒ๋˜๋ฉด, ํ•จ์ˆ˜ ๋‚ด์—์„œ ๋ณ€๊ฒฝํ•œ ๊ฐ’์ด ์ธ์ž๋กœ ๋ณต์‚ฌ๋˜์–ด ์ „๋‹ฌ๋œ๋‹ค. ์ด๋ฅผ Copy-Out์ด๋ผ๊ณ  ํ•œ๋‹ค. 

     

    ์ฆ‰, num1์— ์ €์žฅ๋œ ๊ฐ’์ด ๋ณต์‚ฌ๋˜์–ด a๋กœ ์ „๋‹ฌ๋˜๊ณ  (Copy-In), ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ๋ณ€๊ฒฝ๋œ a์˜ ๊ฐ’์€ ๋‹ค์‹œ ๋ณต์‚ฌ๋˜์–ด num1์œผ๋กœ ๋ณต์‚ฌ (Copy-Out) ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ’์„ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒƒ์ด๋‹ค.

     

     

     

    ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ œ์•ฝ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

     

    ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ์—๋Š” ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋‚˜ ๊ธฐ๋ณธ ๊ฐ’์„ ์„ ์–ธํ•  ์ˆ˜ ์—†๋‹ค.

    ๊ธฐ๋ณธ ๊ฐ’ ์„ ์–ธ ๋ถˆ๊ฐ€
    ๊ฐ€๋ณ€ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ ์–ธ ๋ถˆ๊ฐ€

     

     

    ์ž…์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ์—๋Š” ์ƒ์ˆ˜๋‚˜ ๋ฆฌํ„ฐ๋Ÿด์„ ์ „๋‹ฌํ•  ์ˆ˜ ์—†๋‹ค.

    ๋งˆ์ง€๋ง‰์— ํ•จ์ˆ˜ ์‹คํ–‰์ด ์ข…๋ฃŒ๋˜๊ณ  ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ์ „๋‹ฌํ•ด์•ผํ•˜๋Š”๋ฐ, ์ƒ์ˆ˜๋Š” ๊ฐ’ ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ  ์•ž์„œ ๋งํ•œ Copy-Out์„ ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

     

    ๋ฆฌํ„ฐ๋Ÿด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ๋ฆฌํ„ฐ๋Ÿด์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋œ ๊ฐ’์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’ ๋ณ€๊ฒฝ๋„ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ ,  Copy-Out์„ ํ•  ์ˆ˜ ์—†๋‹ค.

    ์ƒ์ˆ˜ ์ „๋‹ฌ ๋ถˆ๊ฐ€
    ๋ฆฌํ„ฐ๋Ÿด ์ „๋‹ฌ ๋ถˆ๊ฐ€

     

     

    ์—ฌ๊ธฐ์„œ immutable์ด๋ž€, ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ ์ด์™€ ๋ฐ˜๋Œ€๋กœ mutable์€ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์•ž์œผ๋กœ ์ž์ฃผ ๋ณด๊ฒŒ ๋  ๋‹จ์–ด๋‹ˆ ๊ผญ ๊ธฐ์–ตํ•ด๋‘๋„๋ก ํ•˜์ž.

     

    ๋Œ“๊ธ€

Designed by Tistory.