안녕하세요~:)))
오늘은 형식과 연관된 코드 블록을 구현하는 방법인 메소드에 대해서 알아보도록 하겠습니다.
func name(param) -> ReturnType {
Code
}
instance.method(param) // 메소드는 인스턴스 이름으로 호출합니다.
class instanceMethod {
var data = 0
static var sharedDate = 200
func doSomething() {
print(data)
instanceMethod.sharedDate // 형식의 이름으로 접근합니다.
}
func call() {
doSomething()
}
}
let i = instanceMethod()
i.data
i.doSomething()
i.call()
class Size {
var width = 0.0
var height = 0.0
func addSize() {
width += 1.0
height += 1.0
}
}
let s = Size()
s.addSize()
// 클래스에서는 인스턴스 메소드가 인스턴스 속성을 얼마든지 바꿀 수 있습니다.
// 구조체(값 형식)에서 속성을 바꾸는 메소드를 구현할 때는 반드시 mutating으로 선언해야 합니다.
struct Size {
var width = 0.0
var height = 0.0
mutating func addSize() {
width += 1.0
height += 1.0
}
}
var s = Size()
s.addSize()
class Circle {
static let pi = 3.14
var radius = 0.0
func Area() -> Double {
return radius * radius * Circle.pi
}
// 타입 메소드 추가
static func printPi() {
print(pi)
}
}
Circle.printPi()