1. method
class method : 일반 멤버 함수, class 변수를 초기화 한 후에 사용가능
static method : 정적 함수, class 이름만으로 사용가능
2. 샘플코드
// method : 멤버 함수
class People
{
var name : String = ""
var age : Int = 0
func set(name : String, age : Int = 10)
{
print("People set")
self.name = name
self.age = age
}
static func foo(){print("foo")}
}
People.foo() // type method 호출 (정적 메소드)
class Student : People
{
override func set(name : String, age : Int = 50) // 재정의는 override 붙여야함
{
print("student set")
self.name = name
self.age = age
}
}
var p:People = Student() // p는 people, student 담을 수 있다.
//p.set("kim", age: 20)
p.set("kim") // default값은 자식꺼 안쓰고 부모꺼 씀, 컴파잂타임에 넣음
//컴파일러는 p.set("kim", p의 참조타입인 People의 디폴트 값 (10)), 함수 override할 때 디폴트 값 쓰지 말자
print(p.age)
'교육 > Swift' 카테고리의 다른 글
[swift] extension (0) | 2016.08.08 |
---|---|
[swift] subscript (0) | 2016.08.08 |
[swift] property (0) | 2016.08.08 |
[swift] init (0) | 2016.08.05 |
[swift] 구조체와 클래스 (0) | 2016.08.05 |