๐งฉ ํด๋์ค ๋ฉ์๋(+) vs ์ธ์คํด์ค ๋ฉ์๋(-)
Objective-C ๋ฌธ๋ฒ์์ ๋์ค๋ ๊ตฌ๋ถ์ด๋ฉฐ, Swift์์ class func์ instance func๋ก ๊ตฌ๋ถ๋จ!
๋์ ๊ตฌ๋ถ์ Class์ ํจ์๊ฐ ํธ์ถ๋๋ ๋์์ด ๋ฌด์์ด๋์ ๋ฐ๋ผ ๊ตฌ๋ถ๋๋ค.
| Instance Method (-) | ํด๋์ค์์ ๋ง๋ ๊ฐ์ฒด(์ธ์คํด์ค)์ ๋ํด ํธ์ถ๋๋ ๋ฉ์๋ (๋ง์ด๋์ค๋ก ํ๊ธฐ) |
| Class Method (+) | ํด๋์ค ์์ฒด์ ๋ํด ํธ์ถ๋๋ ๋ฉ์๋ (์ธ์คํด์ค ์์ด ์ฌ์ฉ ๊ฐ๋ฅ, ํ๋ฌ์ค๋ก ํ๊ธฐ) |
๐น Instance Method (์ธ์คํด์ค ๋ฉ์๋)
๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ ๊ทธ ๊ฐ์ฒด๋ฅผ ํตํด ํธ์ถํด์ผ ํ๋ ๋ฉ์๋
๋ณดํต ์ธ์คํด์ค์ ์์ฑ์ด๋ ์ํ๋ฅผ ๋ณ๊ฒฝ or ์ฐธ์กฐํ ๋ ์ฌ์ฉํ๋ค.
class Dog {
func bark() {
print("Woof!")
}
}
let dog = Dog()
dog.bark() // โ
์ธ์คํด์ค๋ฅผ ํตํด ํธ์ถ
๐ธ Class Method (ํด๋์ค ๋ฉ์๋)
ํด๋์ค ์ด๋ฆ์ ํตํด ์ง์ ํธ์ถํ๋ ๋ฉ์๋
๊ณต์ฉ ๊ธฐ๋ฅ์ธ utiliy, factory method ์ฌ์ฉ ์ ์ฌ์ฉํ๋ค.
class Math {
static func add(a: Int, b: Int) -> Int {
return a + b
}
}
let result = Math.add(a: 3, b: 5) // โ
ํด๋์ค ์ด๋ฆ์ผ๋ก ์ง์ ํธ์ถ
print(result) // 8
IDA๋ก ๋ถ์ ์ subroutine ๋ด์ ์ ์ธ๋ method๋ค ์์ -, + ๊ฐ ํ๊ธฐ๋์ด ์๋ ๊ฒ์ ์ข
์ข
๋ณธ๋ค.
์ด๋ค ์๋ฏธ๋ก ์ฐ๋ ๊ฒ์ธ์ง ์๊ณ ์๋ ๊ฒ์ด ์ข์ ๋ฏ ํด์ ์ ์ด๋ณธ๋ค.
๋ฐ์ํ
'iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| frida iOS dump IPA ์ถ์ถ (0) | 2025.09.16 |
|---|---|
| iOS frida ์ค์น (1) | 2025.07.03 |
| iOS DFU ๋ชจ๋ (0) | 2025.07.03 |
| iOS ํ์ฅ (2) | 2025.04.21 |
