[Swift] 객체지향 프로그래밍(OOP)

Swift
avatar
2025.02.12
·
2 min read

클래스와 인스턴스

클래스는 객체를 정의하는 청사진으로, 인스턴스를 생성하여 객체를 활용할 수 있음

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("운전 중")
    }
}






- 컬렉션 아티클