일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 카카오
- 이미지학습
- Kakao
- 머신러닝
- c언어
- 프로그래머스 답
- ios 개발 시작
- Python
- SwiftUI
- 카카오 2020
- 프로그래머스
- supervisely
- 날씨 앱
- 최솟값 만들기
- swift 배열
- 카카오 2021
- swift 시작
- fast.ai
- kakao 2018
- 소수
- 문제
- 스위프트
- swift
- 카카오 2019
- 파이썬
- 카카오 2018
- coco 데이터셋
- roboflow
- 데이터셋 만들기
- Siwft
- Today
- Total
잡초의 일지
[Swift] Object | Structure | Data , Property , Method 본문
Object = Data + Method
object는 struct나 class 형태로 구현할 수 있다.
이곳에서는 struct로 구현한다.
struct Store {
/****************************************************** 데이터 = 프로퍼티 (Stored Property) */
let loc: Location
var name: String
let deliveryRange = 2.0
/*************************************************************/
/****************************************************** 메소드 */
func isDeliverable(userLoc: Location)->Bool {
let distanceToStore = distance(current)
return distanceToStore < deliveryRange
}
/*************************************************************/
}
struct Lecture: CustomStringConvertible {
/************************************************************ Computed Property */
var description: String {
return "Title: \(name), Instructor: \(instructor)"
}
/*************************************************************/
/*************************************************************/
let name: String
let instructor: String
let numOfStudent: Int
/*************************************************************/
}
Data = Property
Sroted Property = 변수 저장해서 갖고 있는 애
Computed Property = 기존 저장된 값 가공해서 씀. 어떤 값을 직접 저장하진 않고, 저장된 정보를 이용해서 가공/계산된 값을 제공할 때 사용. 접근할때마다 값이 변경되서 값이 변경되면 새로운 저장된 값을 이용해서 computed property를 다시 만듦. set 시킬때는 자기 스스로가 저장되는게 아니라 자기가 받은 값 갖고 stored property에 나눠서 설정.
Type Property = 생성된 인스턴스에 상관없이 struct/class의 타입 자체의 속성을 정하고 싶을 때 사용.
Lazy Property = 인스턴스가 생성될 때 실행된다기 보다, 프로퍼티가 접근될 때 그제서야 코드가 실행되는 프로퍼티. 최적화하기 위해 사용.
Property Vs Method
Property = 호출 시 저장된 값을 하나 반환한다.
Method = 호출 시 어떤 작업을 한다.
--> Method가 그냥 값을 리턴하는 작업을 한다면 ?
stackoverflow.com/questions/24035276/computed-read-only-property-vs-function-in-swift
medium.com/swift-india/functions-vs-computed-property-what-to-use-64bbe2df3916
softwareengineering.stackexchange.com/questions/304077/swift-functions-vs-computed-properties
위에서 대부분 복잡도와 쓰로우, 계산 빠르기 등을 다루는 것 같다.
모호하다......애매모호...
'[코딩] 배우는것 > Swift' 카테고리의 다른 글
[Swift] Object | Class | Data , Property , Method (0) | 2020.07.13 |
---|---|
[Swift] Method (0) | 2020.07.10 |
[Swift] Protocol 프로토콜 (0) | 2020.07.10 |
[Swift] Structure 구조체 (0) | 2020.07.10 |
[Swift] Closure 클로저 (0) | 2020.07.09 |