[iOS] func VS static func VS class func

유인호·2024년 1월 12일
0

iOS

목록 보기
16/64

함수의 종류를 크게 3가지로 나눌 수 있다.

  • instance function
  • static function
  • class function

각각 코드로 나타내면 다음과 같다.

class TestingFunc {
	func defaultFunc() { print(#function) }
	static func staticFunc() { print(#function) }
	class func classFunc() { print(#function) }
}

instance function은 흔히 많이 쓰는 function인데, 인스턴스 메서드, 프로퍼티 처럼 인스턴스를 생성해야만 함수에 접근 할 수 있다.

static, class function은 스태틱 메서드, 프로퍼티 처럼 인스턴스를 생성하지 않고 접근 할 수 있다. (자동완성에 defaultFunc이 잡히는건, 인스턴스를 넣어줘야 실행됨으로 제외)

static이랑 class랑 똑같이 인스턴스를 만들지 않고 접근할 수 있다는건 알겠는데, 대체 무엇이 다르냐면

상속을 받았을때, 재정의를 할 수 있는가 없느냐의 차이를 갖고 있다.

profile
🍎Apple Developer Academy @ POSTECH 2nd, 🌱SeSAC iOS 4th

0개의 댓글