iOS Class method / Instance method

2025. 7. 17. 08:48ยทiOS

๐Ÿงฉ ํด๋ž˜์Šค ๋ฉ”์„œ๋“œ(+) 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
'iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • frida iOS dump IPA ์ถ”์ถœ
  • iOS frida ์„ค์น˜
  • iOS DFU ๋ชจ๋“œ
  • iOS ํƒˆ์˜ฅ
JNU
JNU
JNU์˜ ๋ณด์•ˆ๊ณต๋ถ€
  • JNU
    JNU diary
    JNU
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • 01-24 10:54
  • ์ธ๊ธฐ ๊ธ€

    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (107)
      • ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ (16)
      • ์‹œ์Šคํ…œ ๋ณด์•ˆ (18)
      • ์›น ๋ณด์•ˆ (17)
      • Frida (5)
      • Android (3)
      • ์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ_์‚ฐ์—…๊ธฐ์‚ฌ (1)
      • iOS (5)
      • Network (7)
      • ์•…์„ฑ์ฝ”๋“œ ๋ถ„์„ (11)
      • ์นจํˆฌํ…Œ์ŠคํŠธ (5)
      • Bandit ์›์ •๋Œ€ (4)
      • ๋Œ€ํ•™์› (3)
      • AWS Cloud (3)
      • CVE (2)
      • Python (0)
      • Dreamhack (1)
      • ์ทจ์•ฝ์  ์ง„๋‹จ (5)
      • ๋ ˆ๋“œ๋ผ์ฟค CTI (1)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
JNU
iOS Class method / Instance method
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”