๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
iOS ๐ŸŽ/Swift

self vs Self

by yongmin.Lee 2022. 4. 27.

์†Œ๋ฌธ์ž self

  • ์ธ์Šคํ„ด์Šค ์ž์ฒด ์ ‘๊ทผ ์‹œ ์‚ฌ์šฉ๋˜๋Š” ์ฐธ์กฐ๊ฐ’
  • self๋Š” ์ฐธ์กฐ ํƒ€์ž…
    • value type์—์„œ์˜ self๋Š” stack์˜์—ญ์— ์กด์žฌํ•˜๋Š” instance๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ˜•ํƒœ
    • reference type์—์„œ์˜ self๋Š” heap ์˜์—ญ์— ์กด์žฌํ•˜๋Š” instance๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ˜•ํƒœ

 

 

๋Œ€๋ฌธ์ž Self

  • Self๋Š” type๊ทธ ์ž์ฒด๋ฅผ ์˜๋ฏธ -> ํƒ€์ž…์„ ์ •์˜ํ• ๋•Œ ์‚ฌ์šฉ
  • Self.self๋Š” type object๋ฅผ ์˜๋ฏธ -> ํƒ€์ž…์„ ๋„˜๊ธธ๋•Œ ์‚ฌ์šฉ
  • protocol ๋‚ด๋ถ€์—์„œ์˜ Self ์˜๋ฏธ: protocol ์ž์‹ ์ด ์•„๋‹Œ, ์ž๊ธฐ ์ž์‹ ์„ ์ฑ„ํƒํ•œ ํƒ€์ž…์„ ์˜๋ฏธ
  • Class์—์„œ์˜ Self ์˜๋ฏธ : ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ํƒ€์ž… ์ž์ฒด๋ฅผ ํ‘œํ˜„

 

 

 

 

 

 

 

 

 

 

 

์ฐธ๊ณ ์ž๋ฃŒ

https://ios-development.tistory.com/600

'iOS ๐ŸŽ > Swift' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Swift) ์—ฐ์‚ฐ์ž == ์™€ === ์˜ ์ฐจ์ด  (0) 2022.09.24
Property Wrapper  (0) 2022.04.28
RxSwift Operator : Map, FlatMap  (0) 2022.04.18
typealias, associatedtype  (0) 2022.04.15
Non-Escaping Closure ์™€ Escaping Closure  (0) 2021.12.28