ν¨μ vs λ©μλ λ μ°¨μ΄?
- func ν€μλ λΆμ 건 λ€ ν¨μμ λλ€.
- λ©μλλ ν΄λμ€, ꡬ쑰체, μ΄κ±°νμ μν ν¨μλ₯Ό λ»ν©λλ€.
- (μ¦, ν¨μκ° λ ν° κ°λ )
swiftμμ λ©μλλ ν¬κ² λκ°μ§λ‘ λλ©λλ€.
- μΈμ€ν΄μ€ λ©μλ
- νμ λ©μλ
λμ ν° μ°¨μ΄μ μ μΈμ€ν΄μ€λ₯Ό μμ±ν΄μΌ νλ μνλμ λλ€.
μΈμ€ν΄μ€ λ©μλ
class Counter {
var count = 0
func increment() {
count += 1
}
}
let counter = Counter() // μΈμ€ν΄μ€λ₯Ό μμ±νκ³
counter.increment() // λ©μλλ₯Ό μ€ννλ€.
- μΈμ€ν΄μ€λ₯Ό μμ±νκ³ ν΄λΉ μΈμ€ν΄μ€μμ λ©μλλ₯Ό νΈμΆν©λλ€.
νμ λ©μλ
class People {
class func sayBye() { // 1. ν΄λμ€ λ©μλ
print("Bye")
}
static func sayHello() { // 2. static λ©μλ
print("Hello")
}
}
People.sayHello() // μΈμ€ν΄μ€ μμ±μμ΄ νμ
μ ν΅ν΄ λ°λ‘ λ©μλ νΈμΆ
People.sayBye()
- ‘νμ ’ μ체μμ λ©μλλ₯Ό νΈμΆν©λλ€.
- μ¦, μΈμ€ν΄μ€μ μμ±μ΄ νμ μμ΅λλ€.
νμ λ©μλλ ν¬κ² 2κ°μ§λ‘ λλ©λλ€.
- class λ©μλ
→ μ΄λ¦μ²λΌ ν΄λμ€μμλ§ μ¬μ©νλ λ©μλμ λλ€. μ€λ²λΌμ΄λ©μ΄ κ°λ₯ν©λλ€. (μμ ν΄λμ€κ° μ¬μ μ κ°λ₯) - static λ©μλ
→ ν΄λμ€, ꡬ쑰체, μ΄κ±°νμμ λͺ¨λ μ¬μ©ν μ μλ λ©μλμ λλ€. μ€λ²λΌμ΄λ©μ΄ λΆκ°λ₯ν©λλ€.
μΈμ staticλ₯Ό μΈκΉ?
extension UIColor {
enum custom {
static let main = UIColor(named: "main")
static let error = UmIColor(named: "error")
static let gray1 = UIColor(named: "gray1")
static let gray2 = UIColor(named: "gray2")
static let gray3 = UIColor(named: "gray3")
static let gray4 = UIColor(named: "gray4")
}
}
label.textColor = .custom.gray4
- νΉμ νμ μ체μ μ°κ΄λλ μν©μ μ¬μ©ν©λλ€.
- μλ₯Ό λ€μ΄ 컀μ€ν 컬λ¬λ₯Ό μ μν λ, μ°λ¦¬λ νλ‘μ νΈ μ 체μμ ν΄λΉ 컬λ¬λ₯Ό μ¬μ©ν©λλ€.
- μ¦, μμ£Ό λ³νμ§ μκ³ κ³΅ν΅μΌλ‘ κ΄λ¦¬λλ μμλ€μ staticμΌλ‘ κ΄λ¦¬ν΄μ μ¬μ©ν©λλ€.