class Man{
var age : Int
var weight : Double
}
초기화 방법
①
class Man{
var age : Int = 1
var weight : Double = 3.5
}
②
class Man{
var age : Int?
var weight : Double?
}
③
class Man{
var age : Int
var weight : Double
init(){
age = 1
weight = 3.5
}
}
메서드 정의하기
class Man{
var age : Int = 20
var height : Double = 170.9
func Me(){
print("나이=\(age), 키=\(height)")
}
}
메서드 사용하기
class Man{
var age : Int = 20
var height : Double = 170.9
func display(){
print("나이=\(age), 키=\(height)")
}
}
var cho : Man = Man ()
cho.display()
print(cho.age)
클래스 메서드는 func 앞에 class나 static이 들어간다.
이는 클래스 자체가 가지고 노는데 이를 클래스 메서드 혹은 타입 메서드(일반적으로 타입메서드라고 함)라고 한다.
class vs static
class 키워드로 만든 클래스 메서드는 자식 클래스에서 override 가능함
인스턴스를 초기화할 때는 init() 함수를 사용한다.
class Man{
var age : Int = 20
var height : Double = 170.9
func me(){
print("나이=\(age), 키=\(height)")
}
init(yourAge : Int, yourHeight : Double){
age = yourAge
height = yourHeight
}
}
var cho : Man = Man(yourAge:30, yourHeight:180.2)
cho.me() // 나이=30,키=180.2
//self 활용하기
//self = 현재 클래스 내 메서드나 프로퍼티를 가리킬 때 메서드나 프로퍼티 앞에 self.을 붙임
class Man{
var age : Int = 20
var height : Double = 170.9
func me(){
print("나이=\(age), 키=\(height)")
}
init(age : Int, height : Double){
self.age = age
self.height = height
}
}
var cho : Man = Man(age:30, height:180.2)
cho.me() // 나이=30,키=180.2
//get 함수 사용하기
class Man{
var age : Int = 20
var height : Double = 170.9
var manAge : Int {
get{
return age-1
}
}
func me(){
print("나이=\(age), 키=\(height)")
}
init(age : Int, height : Double){
self.age = age
self.height = height
}
}
var cho : Man = Man(age:30, height:180.2)
cho.me() // 나이=30,키=180.2
print(cho.manAge) //29
'iOS > Swift이론' 카테고리의 다른 글
Swift) 열거형 enum (2) | 2022.04.19 |
---|---|
Swift) 프로토콜과 델리게이트 Protocol, Delegate (1) | 2022.04.12 |
[iOS]Swift 구조체 (0) | 2022.03.22 |
[iOS]Swift 함수 (0) | 2022.03.17 |
[iOS]Swift 컬렉션 타입 : Array, Dictionary, Set (0) | 2022.03.03 |