본문 바로가기

교육/Swift

[swift] method


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