๊ธฐ์ด๋ฅผ ์ฒ์๋ถํฐ ๋ค์ ๋ค์ง๋ฉด์ ํ์ ์ฃผ์๊ณผ ํ์ ์ถ๋ก ์ ๊ฐ๋ ์ ์ ํ๊ฒ ๋์๋ค.
ํ์ ์ถ๋ก ์ ๊ธฐ์กด์ ์๊ณ ์์์ง๋ง ํ์ ์ฃผ์์ด๋ผ๋ ๋จ์ด๋ ์ด๋ฒ์ ์ฒ์ ์ ํ๊ฒ ๋์์ผ๋ ์ด๋ฏธ ์๊ณ ์๋ ๊ฐ๋ ์ด๊ธด ํ๋ค.
๋ ๊ฐ๋ ์ ๋ชจ๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ ์ฌ์ฉ๋๋ ๊ฐ๋ ์ด๋ค.
1. ํ์ ์ฃผ์(Type Annotation)
var name: String
var name: String = "Lily"
ํ์ ์ฃผ์์ ๋ณ์๋ฅผ ์ ์ธํ ๋ ๋ณ์์ ์๋ฃํ๊น์ง ํจ๊ป ๋ช ์ํด์ฃผ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ฒซ๋ฒ์งธ ์ค ์ฒ๋ผ name์ด๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ๋ฉด์ String์ด๋ผ๋ ์๋ฃํ๊น์ง ํจ๊ป ์ง์ ํด์ค๋ค.
๋๋ฒ์งธ ์ค ์ฒ๋ผ ์ ์ธ๊ณผ ๋์์ ๊ฐ์ ์ง์ ํด์ค ์ ์๋ค.
2. ํ์ ์ถ๋ก (Type Inference)
var name = "Lily"
ํ์ ์ฃผ์๊ณผ ๋ฌ๋ฆฌ ๋ณ์๋ฅผ ์ ์ธํ ๋ ๋ณ์์ ์๋ฃํ์ ์ ์ด์ฃผ์ง ์๋๋ค.
๊ทธ๋์ ์ด๊ธฐ๊ฐ์ ๋ฐ๋ผ ์ปดํ์ผ๋ฌ๊ฐ ์์์ ์๋ฃํ์ ์ ์ถํด ์ง์ ํด์ค๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ๊ฐ์ ๊ผญ ์ง์ ํด์ฃผ์ด์ผํ๋ค.
๊ทธ๋์ ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น?
์ ์๋ ๊ทธ๋ฅ ๊ฐ๋ณ๊ฒ ์ฌ๊ธฐ๊ณ ๋์ด๊ฐ๋ ๊ฐ๋ ์ด์์ง๋ง ๋ค์ ํ๋ฒ ํ์ตํ๋ ๊ณผ์ ์์ ์ด๋ค ์๋ฌธ์ด ๋ค์๋ค.
ํ์ ์ถ๋ก ์ ์ปดํ์ผ๋ฌ๊ฐ ์๋ฃํ์ ์ ์ถํ๋ ๊ณผ์ ์ด ํ๋ฒ ๋ ์งํ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์๊น?
์กฐ๊ธ์ด๋ผ๋ ์๊ฐ์ ์ค์ด๋ ค๋ฉด ํ์ ์ฃผ์ ๋ฐฉ์์ ๋ ์งํฅํด์ผํ๋๊ฒ ์ณ์ง ์์๊น?
๊ทธ๋ฌ๋ ๋์ ์์ ๊ธฐ์ต์ ์ ๋ฐฐ์๊ฒ ๋ค์๋ ์กฐ์ธ ์ค ํ์ ์ถ๋ก ์ ์ด์ฉํ๋ผ๋ ๋ง์ ๋ค์ ์ ์ด ์๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก๋ ๋ ๋ฐฉ์ ์ค ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํ๋๋ผ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น๋๋ค๊ฑฐ๋ ํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฐจ์ด๋ ์๋ค.
๊ทธ๋ฌ๋ ์ปดํ์ผ ์๊ฐ์ ํ์ ์ถ๋ก ์ด ์ข ๋ ์ค๋ ๊ฑธ๋ฆฐ๋ค. ์ปดํ์ผ๋ฌ๊ฐ ์ง์ ํด์ฃผ์ง ์์ ํ์ ๋ค์ ์ ์ถํ๋ ๊ณผ์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
๊ฒฐ๋ก
์ด๋ฌํ ์ฌ์ค์ ์๊ณ ๋ด๊ฐ ํ ์๊ฐ์ ํ์ ์ถ๋ก ์ ๊ตณ์ด ์ฐ์ง ์์๋ ๋๋๊ฑฐ ์๋๊ฐ? ๊ตณ์ด ํ์ํ ๊ฐ๋ ์ธ๊ฐ? ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
๊ทธ๋ฌ๋ ์ข ๋ ์๊ฐํด๋ณด๋ ์ด๋ฅผ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ ๊ฐ๋ค.
์๋ฅผ๋ค์ด ์์ ์์์ฒ๋ผ name์ด๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ name์.. ๊ทธ๋ฅ ์๊ฐํด๋ ๋น์ฐํ String ํ์ ์ผ ๊ฒ ๊ฐ๋ค.
๊ทธ๋ฐ๋ฐ ํ์ ์ฃผ์๋ง ์กด์ฌํ๋ค๋ฉด ๊ตณ์ด String์ด๋ผ๊ณ ํ์ ์ ๋ช ์ํด์ฃผ์ด์ผํ๋ ์ด๋ป๊ฒ ๋ณด๋ฉด ๊ฐ๋ฐ์์ ๋ ธ๋์ด ์ข ๋ ๋ค์ด๊ฐ ์ ์์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
์ฆ, ๋ ๊ฐ๋ ์ ์ ์ฌ์ ์์ ์ฌ์ฉํ๋ค๋ฉด ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ๋ณ์์ ์ธ์ ํ ์ ์์ ๊ฒ ๊ฐ๋ค.
+) ์ ๋ฐฐ๊ฐ ์ ํ์ ์ถ๋ก ์ ์ฐ๋ผ๊ณ ํ๋์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง.. ํธํด์ ์จ๋ณด๋ผ๋ ๋ป์ด ์๋์์๊น ์ถ๋ค. :)
+) 23. 04. 20
Swift Style Guide ๋๋ฆฌ๋ฒ ๊ฑฐ๋ฆฌ๋ค ์ด๋ฐ ๊ธ์ ๋ฐ๊ฒฌํ๋ค..!
๋ถํ์ํ ํ์ ์ ์๋ตํจ์ผ๋ก ๊ฐ๊ฒฐํ๊ฒ ํํํ๊ธฐ๋ฅผ ๊ถ์ฅํ๊ณ ์๋ค.
ํ๊ธด ์๊ฐํด๋ณด๋ฉด ํ๋ก์ ํธํ ๋ ๋ง์ ๋ณ์๊ฐ ํ์ํ ๋๊ฐ ์๋๋ฐ ์ด๋ด๋๋ง๋ค ํ์ ์ ๋ชจ๋ ์ ์ด์ฃผ๋ฉด ์ข ์ง์ ๋ถํด ๋ณด์ผ ์ ์์ ๊ฒ ๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ๋ฟ๋ง ์๋๋ผ ๋์ ๋๋ฆฌ๋ ๋ฐฐ์ด๋ ์ฐ๋ ๋ฐฉ๋ฒ์ด ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ ์ปดํ์ผ๋ฌ๊ฐ ์๊ตฌํ ๋ ๋ง๊ณ ๋ Dictionary<String, Int> ์ด๊ฒ๋ณด๋ค [String: Int] ์๋ฐ ์์ผ๋ก ์ฌ์ฉํ๋ผ๊ณ ํ๋ค.
์์ฝ๋ฉ์ด ๋ฌด์กฐ๊ฑด ์ข์๊ฒ ์๋๊ฒ์ฒ๋ผ ์ด๋์ ๋ ์ฌ๋์ด ์์๋ณผ ์ ์๋ ์ ๋๋ก ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ๋ ๊ทธ ์ง์ ์ ํ์ ํ๋๊ฒ ์ค์ํ ๋ฏ ํ๋น..
'iOS > Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS/Swift] Hashable (0) | 2024.03.31 |
---|---|
[iOS/Swift] Convenience init (0) | 2023.04.21 |
[iOS/Swift] CoreData ๊ณต๋ถํ๊ธฐ (0) | 2022.08.23 |
[iOS/swift] navigation controller์์ root view ์ง์ (์คํ ๋ฆฌ๋ณด๋ ๊ตฌ์ฑ) (0) | 2022.08.20 |
Reactive X ๊ณต๋ถ (0) | 2022.07.19 |