반응형
08. 프로퍼티 vs 메소드
- Property: 저장된 값 호출
- Method: 정해진 작업 작동
computed property와 메소드의 작업이 같은 때는 고민해봐야함
강의에서는 setter가 필요없고, 계산이 많이 필요하면 Method, 나머지 (setter o) / (setter x, 계산 x) 는 computed property로 정했다.
09. 실습
- static: 메소드, 프로퍼티 둘 다 타입메소드, 타입프로퍼티 가능
- mutating: 값타입(struct)은 인스턴스내에서 프로퍼티를 변형시키는 함수 사용시 muating 키워드 사용
10. 메소드 확장
- extension을 이용해 기존 오브젝트에서 추가적으로 코드를 작성 가능
extension Int {
func square() -> Int {
return self * self
}
func half() -> Int {
return self/2
}
}
// 사용
var val = 3
val.square()
val.half()

스위프트 Class
- RAM에는 Stack, Heap 두 가지 저장공간이 있음
- Stack은 자동으로 데이터를 관리하면서 삭제함. 효율적이고 빠름
- Heap은 크고 Stack보다 느림
- class를 변수로 할당하면, 변수 주소를 스택에 저장하고 그 주소의 Heap 위치에 클래스의 인스턴스(데이터)가 생성됨
| Struct | Class |
| Value Types | Reference Types |
| Copy | Share |
| Stack | Heap |
| Fast | Slow |
스위프트 Class 실습
var personStruct1 = PersonStruct(firstName: "Jason", lastName: "Lee")
var personStruct2 = personStruct1
var personClass1 = PersonClass(first: "Jason", last: "Lee")
var personClass2 = personClass1
// 서로 다른 오브젝트
personStruct2.firstName = "Jay"
personStruct1.firstName // Jason
personStruct2.firstName // Jay
// 서로 같은 오브젝트
personClass2.firstName = "Jay"
personClass1.firstName // Jay
personClass2.firstName // Jay
// 서로 다른 오브젝트
personClass2 = PersonClass(first: "Bob", last: "Lee")
personClass1.firstName // Jay
personClass2.firstName // Bob
// 서로 같은 오브젝트
personClass1 = personClass2
personClass1.firstName // Bob
personClass2.firstName // Bob
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
수강료 100% 환급 챌린지 | 패스트캠퍼스
딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!
fastcampus.co.kr
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지Online.
반응형
'강의 > 강의 챌린지(iOS 앱 개발 올인원 패키지 Online)' 카테고리의 다른 글
| 패스트캠퍼스 챌린지 18일차 (0) | 2021.11.18 |
|---|---|
| 패스트캠퍼스 챌린지 17일차 (0) | 2021.11.17 |
| 패스트캠퍼스 챌린지 15일차 (0) | 2021.11.15 |
| 패스트캠퍼스 챌린지 14일차 (0) | 2021.11.14 |
| 패스트캠퍼스 챌린지 13일차 (0) | 2021.11.13 |