not bad 한 개발

Swift - self 본문

Swift

Swift - self

leebean 2021. 10. 23. 13:54

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

 

self

  • 현재 클래스 내 메서드나 프로퍼티를 가리킬 때 메서드나 프로퍼티 앞에 self. 을 붙입니다.
  • init안에 있는 매개변수의 이름과 클래스에 있는 프로퍼티의 이름이 다르면 .self 를 붙일 필요는 없습니다.
  • 하지만 클래스에 있는 프로퍼티와 init안에 있는 매개변수의 이름이 같을 경우 반드시 .self를 붙여야 합니다.

(self 사용 예제 1)

class woMan{
    var age1 :Int
    var weight2 :Double
    func disPlay(){
      print("나이:\(age1), 무게:\(weight2)")
    }
    init(age1 :Int, weight1 :Double){
       self.age1 = age1
       self.weight2 = weight1
    }//메서드 혹은 프로퍼티를 가리킬 때 self.을 붙입니다.
    //메서드 와 프로퍼티를 구분하기 위해 반드시 작성해야 합니다. 
}
var Lee : woMan = woMan(age1:20, weight1:55.0)
Lee.disPlay()

//결과
//나이:20, 무게:55.0

 

(self 사용 예제 2)

class woMan{
    var age1 :Int
    var weight2 :Double
    func disPlay(){
      print("나이:\(age1), 무게:\(weight2)")
    }
    init(myAge :Int, myWeight :Double){
        self.age1 = myAge
        self.weight2 = myWeight
    }//프로퍼티와 매개변수의 이름이 다를경우에는 컴파일러에서 
    //프로퍼티와 매개변수를 구분해 주지만 확실하게 하기위해 self를 쓰기도 합니다.
}
var Lee : woMan = woMan(myAge:31, myWeight:60.5)
Lee.disPlay()

//결과
//나이:31, 무게:60.5

'Swift' 카테고리의 다른 글

Swift - Failable Initializers(실패 가능한 생성자)  (0) 2021.10.23
Swift - property(프로퍼티)  (0) 2021.10.23
Swift - 인스턴스 초기화하기  (0) 2021.10.23
Swift - class(클래스)  (0) 2021.10.23
Swift - closure(클로저)  (0) 2021.10.09
Comments