not bad 한 개발

Swift - overloading(생성자 중첩) 본문

Swift

Swift - overloading(생성자 중첩)

leebean 2021. 11. 3. 13:08

(인덕대학교 컴퓨터소프트웨어학과 iOS프로그래밍기초(21-2학기)한성현 교수님 강의 내용을 변형 및 요약 했습니다.)

 

overloading(생성자 중첩)

  • 같은 이름의 메서드 여러 개를 가지면서 매개변수의 유형과 개수가 달라지도록 하는 기술입니다.
  • 매개변수의 개수와 자료형이 다른 같은 이름의 함수를 여러 개 정의하는 것 입니다.
  • 매개변수가 다른 두 생성자를 통해 두가지 방법으로 인스턴스를 만들 수 있습니다.
  • iOS앱에서 이미지를 관리하는 클래스 UIImage는 15개의 init()가 overloading되어 있습니다.

 

(overloading 예제)

class woMan {
    var age1 :Int = 10 
    var weight2 :Double = 70.5 
    func disPlay (){
        print ("나이:\(age1), 무게:\(weight2)")
    }
    init (myAge :Int , myWeight :Double ){
        self.age1 = myAge
        self.weight2 = myWeight
    }
    init (age1 :Int ){
        self.age1 = age1
    }
}
//같은 이름의 함수가 여러 개 오는게 가능한데 이를 method overloading이라고 합니다.
//함수의 이름이 같으면 소스 분석이 훨씬 편해집니다.  
//가장 많이 사용하는 부분은 생성자 중첩 입니다.
//생성자 중첩을 하는 이유는 사용자의 요구에 반영해서 
//객체 인스턴스를 만들기 위해 사용합니다.
var Lee : woMan = woMan (myAge :31 , myWeight :60.5 )
var Lee1 : woMan = woMan (age1 :31 ) 
Lee.disPlay ()//나이:31, 무게:60.5
Lee1.disPlay ()//나이:31, 무게:70.5

'Swift' 카테고리의 다른 글

Swift - extension(확장)  (0) 2021.11.03
Swift - override(클래스 상속)  (0) 2021.11.03
Swift - window VS Mac  (0) 2021.10.28
Swift - Failable Initializers(실패 가능한 생성자)  (0) 2021.10.23
Swift - property(프로퍼티)  (0) 2021.10.23
Comments