Skip to main content

Method

Instance Method

  • 인스턴스를 생성해야만 호출이 가능한 함수
  • let test: Test = .init()
    • test.printSomething(): 형태로 호출함

Type Method

  • 형식(Type)에 연관된 메서드로, 인스턴스 생성 없이 형식(Type) 이름만 알면 호출 가능
  • 메서드 호출 시 func이란 키워드 앞에 static 혹은 class가 붙으면, 그 메서드는 타입 메서드이다

Static VS Class

  • 이 둘을 구분 짓는 것은 메서드 오버라이딩(override)의 여부
  • static 오버라이딩을 금지
    • subclass에서 해당 타입 메서드를 오버라이딩 하는 것을 금지한다
  • class 오버라이딩 허용
    • subclass에서 해당 타입 메서드를 오버라이딩 하는 것을 허용한다

타입 메서드와 인스턴스 메서드의 멤버 접근 범위

프로퍼티의 종류

  • 일반 프로퍼티(저장 프로퍼티, 연산 프로퍼티)
    • let name = “Test” // 저장 프로퍼티
  • 타입 프로퍼티(저장 타입 프로퍼티 & 연산 타입 프로퍼티)
    • static let name = “test”// 저장 타입 프로퍼티
  • 타입 메서드에서는 타입 프로퍼티만 사용 가능 ( 일반 프로퍼티의 경우 인스턴스 생성이 안되어 사용 불가)
  • 반대로, 일반 메서드에서는 일반 프로퍼티, 타입 프로퍼티 모두 사용 가능