-
[Swift] ํ๋กํ ์ฝ ๋ฉ์๋ ์๊ตฌ์ฌํญ (Method Requirements)iOS/๐ Swift 2021. 1. 18. 23:03
์ฐธ๊ณ ์๋ฃ: Protocols - swift.org
์์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก method ๋ `static` ํค์๋๋ฅผ ํตํด type method๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ instance method ์ type method์ฒ๋ผ ์ ์ํ๋ฉด ๋์ง๋ง,
ํ๋กํ ์ฝ์ ๊ตฌํ์ ํ์ง ์๋ ์๊ตฌ์ฌํญ ์ด๊ธฐ ๋๋ฌธ์ { } (curly brace) ์ ํด๋นํ๋ ๋ฐ๋ ๋ถ๋ถ์ ์์ต๋๋ค.
Syntax
protocol SomeProtocol { // Type method // with no-input, no-return static func someTypeMethod() } protocol RandomNumberGenerator { // Instance Method // with no-input, Double type return func random() -> Double }
์์ ํด๋นํ๋ ํ๋กํ ์ฝ์ ์ฑ์ฉํ ํ์ ์ ํด๋นํ๋ ๋ฉ์๋๋ค์ ๊ตฌํํด์ฃผ๋ฉด ๋ฉ๋๋ค.
์์ฑ ์๊ตฌ์ฌํญ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, static ์ผ๋ก ์ ์ธ๋ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ class ํค์๋๋ฅผ ๋ถ์ฌ์ ๊ตฌํํด๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
Mutating Method Requirement
๊ด๋ จ ๊ธ : Mutating Method
๊ฐ ํ์ ์ Mutating Method๋ฅผ ๊ตฌํํ ๋ ์ฌ์ฉํฉ๋๋ค. Method ์์ `mutating` ํค์๋๋ฅผ ๋ถ์ฌ ์ฃผ๋ฉด ๋ฉ๋๋ค.
์ด๊ฒ์ ๊ฐ ํ์ ์ด ํ๋กํ ์ฝ์ ์ฑํํ ๊ฒฝ์ฐ๋ฅผ ์ผ๋์ ๋ ๊ฒ์ ๋๋ค.
๋ฐ๋ผ์ ํด๋์ค๊ฐ ์ด ํ๋กํ ์ฝ์ ์ฑ์ฉํ๋ ๊ฒฝ์ฐ mutating ํค์๋๋ฅผ ์ ์ ํ์๋ ์์ต๋๋ค.
๋!
๐ค๐ข[์ฐ์งฑ์ iOS ๋ธ๋ก๊ทธ]๐ต๐ป
iOS๋ฅผ ๊ณต๋ถํ๋ฉด์ ๋ฐฐ์ด ๋ด์ฉ์ ๊ธฐ๋กํ๊ณ ์์ต๋๋ค.๋ค์ ๊ธ: Initializer Requirements - Protocols
'iOS > ๐ Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] @main ๊ณผ ์ปค์คํ ์ํธ๋ฆฌ ํฌ์ธํธ (2) 2021.01.19 Mutating Method - Methods (0) 2021.01.18 [Swift] ํ๋กํ ์ฝ ์์ฑ ์๊ตฌ์ฌํญ (Property Requirements) (0) 2021.01.15 [Swift] ํ๋กํ ์ฝ ๊ฐ์ (Protocol Overview) (0) 2021.01.15 Closure Capture List - Memory (0) 2021.01.05