μμμ μ€λ‘μ§ 'ν΄λμ€' μμλ§ κ°λ₯νλ€.
swiftμμ μμμ ν λ²λ§ κ°λ₯νλ€. (== λ¨μΌμμ)
π 기본ꡬν
class Name : μμλ°μclass {
// code
}
π μμ
μμμ μμ λ₯Ό μμΈμ μ€λͺ ν΄λ³΄λ©΄,
μ΄λ¦κ³Ό λμ΄λ₯Ό νλ‘νΌν°λ‘ κ°μ§κ³ , κ·Έ κ°μ μΆλ ₯νλ λ©μλλ₯Ό κ°μ§λ ν΄λμ€λ λ€μκ³Ό κ°λ€.
class Info {
var name = ""
var age = ""
func print_name() {
print("λ΄ μ΄λ¦μ \(name) μ
λλ€.")
}
func print_age() {
print("λλ \(age)μ΄ μ
λλ€.")
}
}
μ ν΄λμ€μ μ 보λ₯Ό λͺ¨λ κ°μ§λ©΄μ μΈκ΅μ΄λ‘λ μΆλ ₯ν μ μκ² νκ³ μΆλ€λ©΄ μμμ μ΄μ©ν μ μλ€.
μ¦, μμμ΄λ λ€λ₯Έ ν΄λμ€μ μ 보λ₯Ό λͺ¨λ κ°μ§λ κ²μ μλ―Ένλ€. (λ§κ·Έλλ‘ μμ)
class English : Info {
func print_en_name() {
print("My name is \(name).")
}
func print_en_age() {
print("I'm \(age) years old.")
}
}
μ¦ English classλ₯Ό ꡬννκ³ name, age λ³μλ₯Ό μμ±νμ§ μμλ μ¬μ©ν μ μλ€λ κ²μ΄λ€.
(μ€νλ € μμλ°μ λ³μλ₯Ό λ€μ μμ±νλ©΄ errorλ¨)
var mikook : English = English()
mikook.name = "sladuf" // μμλ°μ name λ³μ μ¬μ©
mikook.print_name() // "λ΄ μ΄λ¦μ sladuf μ
λλ€."
mikook.print_en_name() // "My name is sladuf."
π μ€λ²λΌμ΄λ©
μ€λ²λΌμ΄λ©μ΄λ μ΄λ―Έ μμ±λ λ©μλλ νλ‘νΌν°μ λ΄μ©μ λ³κ²½νλ κ²μ μλ―Ένλ€. (== μ¬μ μ)
λ©μλ μμ override ν€μλλ₯Ό λΆμ¬μ μ€λ²λΌμ΄λ© ν μ μλ€.
μμμ μ μν Info classμ print_nameμ μ€λ²λΌμ΄λ©νμ¬ μμ±νλ©΄,
class English : Info {
override func print_name() {
print("My name is \(name).")
}
}
var mikook : English = English()
mikook.name = "sladuf"
mikook.print_name() // "My name is sladuf."
κ·Έλ μ§λ§, λͺ¨λ λ©μλκ° μ€λ²λΌμ΄λ© ν μ μλ κ²μ μλλ€. μ€λ²λΌμ΄λ©μ΄ κ°λ₯ν κ²½μ°μ λΆκ°λ₯ν κ²½μ°λ₯Ό μμ보μ.
βοΈ μ€λ²λΌμ΄λ©
μ€λ²λΌμ΄λ©μ΄ κ°λ₯ν κ²½μ°λ λ€μκ³Ό κ°μ λ©μλλ₯Ό μμν λ μ΄λ€.
μΌλ°μ μΈ λ©μλμ, class λ©μλλ μμλ°μ μ€λ²λΌμ΄λ© ν μ μλ€.
func method1() {
print("method1")
}
class func method2() {
print("method2")
}
β μ€λ²λΌμ΄λ©
μ€λ²λΌμ΄λ©μ΄ λΆκ°λ₯ν κ²½μ°λ λ€μκ³Ό κ°μ λ©μλλ₯Ό μμν λ μ΄λ€.
finalμ΄ λΆλ κ²½μ°λ μμ ν μ€λ²λΌμ΄λ©μ΄ λΆκ°λ₯νλ€. static(νμ λ©μλ)λ λ§μ°¬κ°μ§λ‘ μ€λ²λΌμ΄λ© λΆκ°λ₯
final func method1() {
print("method1")
}
static func method2() {
print("method2")
}
final class func method3(){
print("method3")
}
'π Programming > Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swfit] νλ‘νΌν° κ°μμ / property observer (willSet & didSet) (0) | 2022.05.26 |
---|---|
[Swift] μ΅μ λ 체μ΄λ (0) | 2022.02.17 |
[Swift] property(νλ‘νΌν°) (0) | 2022.01.24 |
[Swift] ν΄λ‘μ (Closure)μ λͺ¨λ κ² (0) | 2022.01.21 |
[Swift] μ΄κ±°ν(Enumerations) (0) | 2022.01.20 |