Swift) 클래스 내부 메소드(method) 종류

2023. 10. 10. 01:28· Swift🐤
목차
  1. 함수(Function) VS 메소드(Method)
  2. 메소드의 종류
  3. Instance 메소드
  4.  
  5. Type 메소드
  6. Reference

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

함수와 메소드를 구분 없이 혼용하는 경우가 있을 수 있습니다. 유사한 개념이지만

함수는 특정 작업을 수행하기 위한 코드들의 묶음이라고 할 수 있고

swift에서의 메소드 같은 경우는 클래스(class), 구조체(struct), 열거형(enum) 내부에 정의된 함수라고 할 수 있습니다.

 

메소드의 종류

Instance 메소드

타입의 객체를 생성하여 접근할 수 있는 메소드

메소드(default)

기본 메소드로 객체를 생성하여 해당 메소드에 접근이 가능하고 자식 클래스에서 override가 가능한 메소드입니다.

class TestA{
	func defaultMethod(){
    	print("A: defaultMethod")
    }
}

class TestB: TestA{
	override func defaultMethod(){
    	print("B: defaultMethod")//override 가능
    }
}

//객체 생성
let testA = TestA()
let testB = TestB()

//객체를 통한 메소드 접근
testA.defaultMethod()//A: defaultMethod
testB.defaultMethod()//B: defaultMethod

final 메소드

final 메소드는 객체를 생성하여 해당 메소드에 접근이 가능하고 자식 클래스에서 override가 가능한 메소드입니다.

class TestA{
	final func finalMethod(){
    	print("A: finalMethod")
    }
}
//override 불가능

 

Type 메소드

instance 메소드처럼 따로 객체를 생성해서 접근할 필요없이 type 자체에서 접근할 수 있는 메소드를 의미합니다.

class 메소드

type 자체에서 메소드에 접근이 가능하고 override가 가능합니다.

class TestA{
	class func classMethod(){
    	print("A: classMethod")
    }
}

class TestB: TestA{
	override class func classMethod(){ //override 가능
    	print("B: classMethod")
    }
}

//타입 자체에서 메소드 접근이 가능
TestA.classMethod()//A: classMethod
TestB.classMethod()//B: classMethod

static 메소드 & final class 메소드

static 메소드와 final class 메소드는 동일한 기능을 가집니다.

type 자체에서 메소드에 접근이 가능하고 override가 불가능합니다.

class TestA{
	static func staticMethod(){
    	print("staticMethod")
    }
    final class func finalClassMethod(){
    	print("finalClassMethod")
    }
}
//override 불가

//타입 자체에서 메소드 접근이 가능
TestA.staticMethod()//staticMethod
TestB.finalClassMethod()//finalClassMethod

 

Reference

https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%EC%9C%84%ED%94%84%ED%8A%B8-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95&unitId=6517 

 

학습 페이지

 

www.inflearn.com

 

'Swift🐤' 카테고리의 다른 글

swift) enumerated() 메소드  (1) 2024.02.07
swift) where 키워드  (0) 2024.01.18
Swift) 열거형(enum)  (1) 2023.10.09
Swift) Nested Function  (0) 2023.09.06
Swift) Property Observers(프로퍼티 옵져버)  (0) 2023.09.04
  1. 함수(Function) VS 메소드(Method)
  2. 메소드의 종류
  3. Instance 메소드
  4.  
  5. Type 메소드
  6. Reference
'Swift🐤' 카테고리의 다른 글
  • swift) enumerated() 메소드
  • swift) where 키워드
  • Swift) 열거형(enum)
  • Swift) Nested Function
성실농장주
성실농장주
매일 조금이라도 꾸준히 성장하고 싶은 개발자
성실농장주
사과농장
성실농장주
전체
오늘
어제
  • 분류 전체보기 (43)
    • iOS 개발공부📱 (4)
    • Swift🐤 (12)
    • SwiftUI🐧 (2)
    • Firebase 🔥 (1)
    • Git 🐈 (2)
    • Linux (1)
    • Trouble Shooting🛠️ (2)
    • 자료구조🏛️ (1)
    • visionOS 개발공부👓 (1)
    • Algorithm💡 (4)
    • RxSwift (5)
    • 오픈소스 (1)
    • ios 개발자 면접 질문🥸 (6)
    • 영어문서 단어집📕 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • CLLocationDegrees
  • rethrows
  • Set
  • SWIFT
  • nested_function
  • processor_management
  • Tuple
  • EnvironmentValues
  • Debug View Hierarchy
  • Array
  • git
  • control_transfer_statement
  • RxSwift
  • colorScheme
  • responder_chain
  • Xcode
  • process_states
  • process_control_block
  • iOS_process_management
  • optional_chaining

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
성실농장주
Swift) 클래스 내부 메소드(method) 종류
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.