EunHee-Jeong / TIL

Today I Learned #알쓸신잡 #심야아요

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

함수 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을 사용하기 때문에 메서드가 아닌 완전한 함수를 볼 수 있을 것이다.