본문 바로가기

Swift

Swift 정리 : method overloading : 생성자 중첩

매개변수의 개수와 자료형이 다른 같은 이름의 함수를 여러 정의

매개변수가 다른 생성자를 통해 두가지 방법으로 인스턴스를 만들 있음

class Man{

  var age : Int = 1

  var weight : Double = 3.5

  func display(){

    print("나이=\(age), 몸무게=\(weight)")

  }

  func display(age : Int){    //생성자 중첩

    print("나이=\(age), 몸무게=\(weight)")

  }

  init(age: Int, weight : Double){  //1

    self.age = age

    self.weight = weight

  }

  init(age: Int){   //생성자 중첩

       self.age = age

  }

}

var kim : Man = Man(age:10, weight:20.5) 

var lee : Man = Man(age:23)

kim.display()   //나이=10, 몸무게=20.5

lee.display()   //나이=23, 몸무게=3.5