Archive/패캠(올인원)

🍜 ch15 인스턴스 메소드 vs 타입메소드

lgvv 2021. 6. 29. 10:45

✅  이번 시간에는 인스턴스 메소드와 타입 메소드에 대해서 아주 간략히 알아보고 넘어가보자.

 

스위프트에서 이를 이해하기 위해서는 구조체와 클래스에 대한 이해가 있으면 좋아.

구조체와 클래스에 대해서는 거의 비슷하면서도 다른데, 두 개의 정확한 차이에 대해서는 이번시간에는 다루지 않아.

그래도 큰 차이는 클래스는 상속이 되고, 구조체는 안된다는 점은 이 시간에 알아둬야 해!

나의 경우는 구조체는 주로 아직까지 cell을 만들때 캡슐화 하기 위해서 사용했고, 클래스의 경우는 그 외의 경우에 주로 사용했던 것 같아.

 

구조체던 클래스던간에 자바에서 처럼 인스턴스를 생성해서 사용해야하는데, 그렇지 않고 사용할 수 있는 방법이 있어.

 

바로 static을 붙이면 인스턴스를 생성하지 않고도 접근해서 사용할 수 있다는 사실...!

 

ch 15에서 아래의 코드 예시를 보자.

class SearchAPI {
	let movie = SearchAPI.parseMovies(resultData)
	static func parseMovies(_ data: Data) -> [Movie] { }
    static func search(_ term: String, completion: @escaping ([Movie]) -> Void) { }
}

class SearchViewController : UISearchBarDelegate {
	SearchAPI.search(searchTerm, completion : nil)
}

이런 식으로 인스턴스의 생성 없이 사용할 수 있다...! 

 

코드가 궁금하다면...

https://github.com/lgvv/fastCampus/tree/main/MyNetflix

 

lgvv/fastCampus

Contribute to lgvv/fastCampus development by creating an account on GitHub.

github.com

 

 

 

참고

 - https://jiseobkim.github.io/swift/2018/10/05/swift_basic-%ED%83%80%EC%9E%85-%EB%A9%94%EC%86%8C%EB%93%9C-&-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EB%A9%94%EC%86%8C%EB%93%9C.html

 

Swift - 타입 메소드 & 인스턴스 메소드

나만의 공간

jiseobkim.github.io