함수 function 와 메서드 method 의 차이점
EunHee-Jeong opened this issue · comments
공통점
- 어떠한 기능을 수행하는 단위(코드 조각)이다.
- 호출하여 사용한다.
차이점
함수
-
독립적으로 존재한다.
- 클래스, 구조체, 열거형과 무관하며, 재사용이 가능하다.
-
코드 예시
func greeting() { print("하이ㅋ") } greeting() // 하이ㅋ
메서드
-
클래스 내에 선언되어 있다. 즉 클래스, 구조체, 열거형의 객체와 연관되어 있는 개념이다.
-
코드 예시
class Person { func greeting() { print("하이ㅎ") } } let eunhee = Person() eunhee.greeting() // 하이ㅎ
정리
함수 ⊇ 메서드
-
iOS 개발에서는 대부분의 함수들이
Class
,struct
,enum
내에서 선언이 되기 때문에 모두 함수라고 생각하면 될 것 같다.-
상대적인 상황으로 제한하고 생각해보자면, 우리가 프로그래밍을 하며 만드는(정의하는) 것은 메서드이고, 프레임워크에서 가져와서 쓰는 것들은 함수로 구분해볼 수도 있을 것 같다.
- 단… 프레임워크 내부로 들어가면 쟤들도 또 메서드가 된다.
-
-
알고리즘 문제를 풀 때는 Command Line Tool을 사용하기 때문에 메서드가 아닌 완전한 함수를 볼 수 있을 것이다.