not bad 한 개발

Swift - property(프로퍼티) 본문

Swift

Swift - property(프로퍼티)

leebean 2021. 10. 23. 13:56

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

 

프로퍼티(property)

  • 프로퍼티는 두 가지가 존재합니다. 하나는 stored propertycomputed property가 있습니다
  • 프로퍼티란 필드와 메서드 간 기능의 중간 클래스 멤버의 특수한 유형입니다.
  • 주로 getter와 setter 메서드로 호출됩니다.
  • stored property
    • 지금까지 클래스 내부에 선언했던 변수들을 stored property라고 부릅니다.

 

  • computed property
    • property가 설정되거나 검색되는 시점에서 계산 또는 파생된 값입니다.
    • computed property 안에는 값을 리턴하는 getter메서드 값을 대입하는 setter메서드가 있습니다.
    • computed property getter 예제
      • class woMan {
            var age1 :Int // stored property
            var weight2 :Double // stored property
            var woManage :Int {// computed property
        	//property가 설정되거나 검색되는 시점에서 계산 또는 파생된 값 입니다.
        	//보통 앞에서 만든 stored property를 활용합니다.
                get {//computed property의 get을 만드는 방법
                    return age1-1
                }
            }
            func disPlay (){
              print ("나이:\(age1), 무게:\(weight2)")
            }
            init (myAge :Int , myWeight :Double ){
                self.age1 = myAge
                self.weight2 = myWeight
            }
        }
        var Lee : woMan = woMan (myAge :31 , myWeight :60.5 )
        Lee.disPlay ()
        print (Lee.woManage )
        
        //결과
        //나이 : 31, 무게:60.5
        //30
    • computed property setter 예제
      • class woMan {
            var age1 :Int // stored property
            var weight2 :Double // stored property
            var woManage :Int {// computed property
                get {//setter가 있을경우 get은 생략이 불가능 합니다.
                    return age1 -1
                }
                set {//setter는 매개변수명이 newValue일 경우 (newValue)은 생략이 가능합니다. 
                    age1 = newValue +1
                }     
            }
            func disPlay (){ print ("나이:\(age1), 무게:\(weight2)") }
        
            init (myAge :Int , myWeight :Double ){
                self.age1 = myAge
                self.weight2 = myWeight
            }
        }
        var Lee : woMan = woMan (myAge :31 , myWeight :60.5 )
        Lee.disPlay ()//나이:31, 무게:60.5
        print (Lee.woManage )//30
        print (Lee.age1 )//31
        Lee.woManage = 10 //setter호출하는 방법
        print (Lee.age1 )//11

'Swift' 카테고리의 다른 글

Swift - window VS Mac  (0) 2021.10.28
Swift - Failable Initializers(실패 가능한 생성자)  (0) 2021.10.23
Swift - self  (0) 2021.10.23
Swift - 인스턴스 초기화하기  (0) 2021.10.23
Swift - class(클래스)  (0) 2021.10.23
Comments