클래스와 인스턴스
클래스는 객체를 정의하는 청사진으로, 인스턴스를 생성하여 객체를 활용할 수 있음
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func introduce() {
print("안녕하세요. 저는 \(name)이고, \(age)살 입니다.")
}
}
let person = Person(name: "춘장", age: 4)
person.introduce()
상속
클래스는 다른 클래스로부터 속성과 메서드를 상속받을 수 있음
class Employee: Person {
var jobTitle: String
init(name: String, age: Int, jobTitle: String) {
self.jobTitle = jobTitle
super.init(name: name, age: age)
}
override func introduce() {
print("안녕하세요. 저는 \(name)이고, \(age)살이며 직업은 \(jobTitle)입니다.")
}
}
프로토콜
프로토콜은 특정 기능을 강제하기 위해 사용
protocol Drivable {
func drive()
}
class Car: Drivable {
func drive() {
print("운전 중")
}
}