본문 바로가기

개발

Swfit 메서드 (Methods)

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. 참고 자료