728x90
|
메서드 (Method)
- 특정 타입에 관련된 함수
- 인스턴스 메서드, 타입 메서드로 나뉜다.
1. 인스턴스 메서드 (Instance Method)
- 특정 타입의 인스턴스에 속한 함수
- 인스턴스 내부의 프로퍼티 값을 변경하거나 특정 연산 결과를 반환하는 등, 인스턴스와 관련된 기능 실행
- 일반적인 함수 선언 문법과 같음
- 구조체, 열거형은 값 타입이므로 메서드 앞에 mutating 키워드를 붙여서 해당 메서드가 인스턴스 내부의 값을 변경한다는 것을 명시해야 한다.
- 클래스는 신경쓸 것이 거의 없다.
import Foundation
struct Person {
var name : String
var age : Int
mutating func passOneYear() {
age += 1
}
}
var p1 = Person(name : "Park", age : 25)
print(p1.age)
p1.passOneYear()
print(p1.age)
/* 결과
25
26
*/
self 프로퍼티
- 인스턴스 자기 자신을 가리키는 프로퍼티
- 자바의 this와 유사
2. 타입 메서드 (Type Method)
- 타입 자체에 호출이 가능한 메서드
- 객체지향의 클래스 메서드와 유사
- static or class 키워드를 사용해서 선언
- static : 상속 후 메서드 재정의 불가능
- class : 상속 후 메서드 재정의 가능
728x90
'Swift' 카테고리의 다른 글
[Swift] 범위 연산자 (0) | 2020.12.28 |
---|---|
[Swift] 타입캐스팅 (Type casting) (0) | 2020.12.28 |
[Swift] 프로퍼티 (Property) (0) | 2020.12.26 |
[Swift] Extension (0) | 2020.12.26 |
[Swift] 열거형 (Enumeration) (0) | 2020.12.20 |
댓글