본문 바로가기

Swift

Swift - Extension

struct의 extension - 한 구조체에 대한 여러개의 프로토콜 확장을 개별적인 코드 블록으로 나눌 수 있게 해줍니다. 또는 구조체에 정의된 메소드들의 오버로딩의 작성도 용이하게 만들어 줍니다.

 

class의 extension - 한 클래스에 대한 여러개의 클래스의 상속이나 프로토콜 확장 등을 개별적인 코드 블록으로 나눌 수 있게 해줍니다. 또는 클래스에 정의된 메소드들의 오버로딩의 작성도 용이하게 만들어 줍니다.

 

protocol의 extension - extension을 통해 protocol의 default implementation을 설정 할 수 있습니다.

// 프로토콜 선언
protocol Dog{
	func say()
}

// 확장 키워드를 통해 프로토콜에 정의된 메서드의 디폴트 실행문 작성
//MARK: - section heading
extension Dog{
	func say(){
    print("bowwow")
    }
}

추가 팁

//MARK: - 을 통해 section heading을 넣을 수 있습니다.