728x90
Swift 메서드 (Methods in Swift)
Swift 메서드는 클래스, 구조체, 열거형에 속한 함수를 정의하고 호출하는 데 사용되는 기본적인 기능입니다. 메서드를 사용하면 객체의 기능을 구현하고 인스턴스의 데이터를 조작할 수 있으며, 코드를 더욱 명확하고 효율적으로 작성할 수 있습니다.
1. 메서드 기본 구조
func <메서드 이름>(<매개변수 이름 1>: <매개변수 타입 1>, <매개변수 이름 2>: <매개변수 타입 2>, ...) -> <반환값 타입> {
// 메서드 내용
}
- func: 메서드를 선언하는 키워드입니다.
- <메서드 이름>: 메서드의 이름입니다.
- (<매개변수 이름 1>: <매개변수 타입 1>, <매개변수 이름 2>: <매개변수 타입 2>, ...): 메서드의 매개변수 목록 (선택 사항)
- ->: 메서드의 반환값 타입 (선택 사항)
- // 메서드 내용: 메서드 내에서 실행되는 코드 블록
예시:
class Person {
func greet(name: String) {
print("안녕하세요, \(name)님!")
}
}
let sarang = Person()
sarang.greet(name: "사랑") // "안녕하세요, 사랑님!"
2. 메서드 매개변수 및 반환값
- 메서드는 여러 개의 매개변수를 가질 수 있으며, 매개변수에 기본값을 설정할 수 있습니다.
- 메서드는 값을 반환할 수 있으며, 여러 개의 값을 반환하려면 튜플을 사용할 수 있습니다.
class Person {
func calculateBMI(height: Double, weight: Double) -> Double {
let bmi = weight / (height * height)
return bmi
}
func getInfo() -> (String, Int) {
return ("지민", 30)
}
}
let jimin = Person()
let bmi = jimin.calculateBMI(height: 1.75, weight: 65)
print(bmi) // 21.28
let (name, age) = jimin.getInfo()
print(name) // 지민
print(age) // 30
3. 인스턴스 메서드 vs. 타입 메서드
- 인스턴스 메서드 (Instance Methods): 특정 인스턴스에 속한 메서드입니다. 인스턴스의 데이터를 조작하거나 기능을 수행하는 데 사용됩니다.
- 타입 메서드 (Type Methods): 특정 타입 자체에 속한 메서드입니다. 타입과 관련된 작업을 수행하거나 정보를 제공하는 데 사용됩니다.
class Person {
static var species = "Human"
func greet() {
print("안녕하세요!")
}
static func whatIsSpecies() -> String {
return "사람입니다."
}
}
let jimin = Person()
jimin.greet() // "안녕하세요!"
print(Person.whatIsSpecies()) // "사람입니다."
4. 메서드 활용
- 메서드를 사용하면 객체의 기능을 효율적으로 구현할 수 있습니다.
- 코드를 더욱 명확하고 간결하게 작성할 수 있습니다.
- 인스턴스의 데이터를 안전하게 조작할 수 있습니다.
- 코드를 재사용하고 유지 관리하기 쉽습니다.
5. 참고 자료
'개발' 카테고리의 다른 글
Swift 상속 (Inheritance in Swift) (0) | 2024.07.05 |
---|---|
swift 서브 스크립트 (Subscripts) (0) | 2024.07.05 |
Swift 프로퍼티 (Properties) (1) | 2024.07.05 |
Swift 구조체와 클래스 (Structures and Classes) (0) | 2024.07.05 |
Swift 열거형 (Enumerations) (0) | 2024.07.05 |