오늘은 Swift에서 아주 중요한 class에 대해 정리해 보겠습니다!
우선 class를 정리하기 전에 객체 지향 프로그래밍에 대해 알아야 합니다.
객체 지향 프로그래밍의 특징은 아래와 같습니다.
class Student {}
var student1 = Student()
저장 프로퍼티 : 데이터를 저장하는 용도, 프로퍼티 읽기/쓰기 행위, 객체 생성 시 초기화.
계산 프로퍼티 : 데이터 저장 안 함, 프로퍼티 읽기/쓰기 코드 작성
class Person {
let thisYear = 2017
var birthYear : Int = 0
var age : Int {
get {
return thisYear - birthYear
}
set(newValue) {
birthYear = thisYear - newValue
}
}
}
set(newValue)에서 괄호는 생략 가능
단, 임의로 설정한 set([다른이름])은 생략 불가능합니다!
또한 set은 생략 가능하지만, set 전용 프로퍼티는 없습니다!
클래스 내에서 작성하는 함수
self 포인터 : 객체 자신을 참조하는 포인터
: 프로퍼티 이름과 함수 내에 파라미터 이름이 겹칠 때 필히 사용해야 합니다!
class Add {
staticvar a = 1
static var b = 3
var c = 5
static func add() -> Int {
//c는 사용 불가능 (static이 아니어서)
return a+b
}
}
class Rectangle {
var height : Int = 0 {
willSet {
print("newValue: \(newValue)")
}
didSet {
print("old: \(oldValue)")
}
}
}
var rec = Rectangle()
rec.height = 10
rec.height