Programming/Swift
Swift 클래스
patrick610
2020. 6. 23. 00:33
반응형
SMALL
객체지향 프로그래밍
다양한 플랫폼에서 객체지향 프로그래밍 사용
iOS/macOS 개발에도 적용
특징
모든 것을 객체로 취급
화면(씬) 단위
화면 내 뷰와 컨트롤
객체의 속성과 행위
애플리케이션과 객체
학사관리 시스템
학생의 이름, 전공
수강 신청 과목
수강 신청하기
게임
게임 유닛
유닛의 위치, 능력
유닛 이동, 공격/방어 등
객체지향 프로그래밍 작성 방법
객체의 속성과 행위
클래스 정의와 객체 생성
* 클래스 정의 : class [클래스 이름] {}
class Rectangle {
}
* 객체 생성 : [클래스 이름]()
var rect = Rectangel()
객체 생성
* var : 새로운 객체 대입 가능
var rect = Rectangle()
rect = Rectangle()
* let : 새로운 객체 대입 불가
let rect2 = Rectangel()
rect2 = Rectangel() // 대입 불가
프로퍼티
객체의 데이터
저장/계산 프로퍼티
값을 저장하고 읽는 행위
* 저장 프로퍼티
데이터를 저장하는 용도
데이터 읽기/쓰기 행위
객체 생성시 초기화, 초기화 방법 필요
var obj = MyClass()
obj.intProperty = 10 // set
obj.floatProperty = 3.1
let val = obj.floatProperty // get
val // Optional(3.1)
* 계산 프로퍼티
데이터 저장 안함
프로퍼티 읽기/쓰기 코드 작성
값을 얻어오기(get)
값을 설정하기(set)
var [프로퍼티 이름] : [타입] {
get {
return RETURN_VALUE
}
set(newValue) {
}
}
계산 프로퍼티 : 읽고 쓰기
읽고 쓰기 가능 : get/set 모두 작성
읽기(get) 전용 : get 선언 생략 가능
var isSquare : Bool {
get { // 생략 가능
return width == height
}
}
쓰기(set) 전용은 없음
저장 프로퍼티와 계산 프로퍼티
class Person {
let thisYear = 2017
var birthYear : Int = 0
var aget : Int {
get {
return thisYear - birthYear
}
set {
birthYear = thisYear - newValue
}
}
}
반응형
LIST