함수
func
키워드로 생성한 객체
- Swift에서 함수는 1급 객체
- 메서드보다 넓은 의미를 가진다.
func doSomething() {
print("something...")
}
메서드
class Some {
func doSomething() {
print("something...")
}
}
struct Some {
func doSomething() {
pring("something...")
}
}
인스턴스 메서드
class Restaurant {
func lunch() {
print("점심 식사")
}
func dinner() {
print("저녁 식사")
}
}
let restaurant = Restaurant() // 인스턴스를 먼저 생성
restaurant.lunch() // 인스턴스를 통해 접근!
타입 메서드
- 인스턴스 생성 여부와 관계없이 호출할 수 있는 메서드
static
또는 class
키워드를 사용하여 선언
class Restaurant {
static func lunch() {
print("점심 식사")
}
class func dinner() {
print("저녁 식사")
}
}
Restaurant.lunch() // 인스턴스 생성 없이 Restaurant 타입에서 바로 접근!
Restaurant.dinner()
static 메서드와 class 메서드의 차이