티스토리 뷰

Swift

함수(Function) VS 메소드(Method)

Zedd0202 2017. 9. 26. 19:08
반응형



안녕하세요 :) Zedd입니다.

갑자기 Swift에서 함수와 메소드의 명칭..? 언제 함수라고 불러야하고 메소드라고 불러야하는지 

제가 정확히 개념을 모르는 것 같아서 정리하려고해요 :)






함수(Function) VS 메소드(Method)




함수(Function) : 함수는 특정 작업을 수행하는 "코드조각"이에요. 전역, 지역이던 "독립된 기능"을 수행하는 단위죠. 


예를들어



이런거요. 저 "코드조각" 하는 일을 알 수 있는 이름을 "함수의 이름"으로 부여해요.

그리고 이 "이름"은 함수를 "호출"하여 해당작업을 수행합니다. 

함수를 메소드보다 먼저 말씀드린 이유는, 함수가 메소드를 포함하고 있기 때문이에요. 



메소드(Method) :  클래스, 구조체, 열거형에 포함되어있는 "함수"를 메소드라고 부릅니다. 메소드를 다른말로 "클래스 함수"라고도 해요. 

 

방금 말씀드린 메소드의 정의대로, 메소드는 클래스/구조체/열거형 내부에 작성된 것을 말해요. 


class Person {

    //This is a method which acts only on Person type
    func personGreeting() {
        greet(yourName: "Santosh", category: .Person)
    }
}

바로 이런식으로 말이죠. 

제가 헷갈린 이유를 알았어요!
iOS를 만드는 Single View Controller아시죠?

어떤 "Controller"를 만들면 반드시


클래스 "안에" 모든 것을 작성하게 되죠?

이 클래스 "안에" 작성되는 "함수"는 이제 "메소드"가 되는거에요. 

저는 iOS도 하고, 그냥 Command Line Tool에서도 하니까 

Swift에서의 함수와 메소드를 헷갈린거에요..!!!하핫

Command Line Tool에서는 클래스를 만들일이 거의 없으니까요ㅎ..


그러니까!! 정리하자면, 

func someFunction{
//some code
}

class someClass{

    func someMethod{
    //some code    
    }

}

이렇게 되겠네요 ㅎㅎ 

이제 앞으로 함수와 메소드를 잘 구분해서 써야겠네요 :)

오늘도 도움이 되었으면 좋겠어요 😆




반응형

'Swift' 카테고리의 다른 글

Swift ) Types  (0) 2017.10.01
Swift ) split에 대한 고찰  (1) 2017.09.27
Swift ) Generic  (7) 2017.09.22
Swift ) Equatable  (4) 2017.09.18
Swift ) 크기가 정해진 2차원 배열 만들기  (0) 2017.09.18