익스텐션(Extension) 1편 C++ 에서는 찾기 힘든 기능인 익스텐션(Extension)이라는 기능에 대해서 공부 중이다. 익스텐션은 기존의 Objective-C에 존재하는 카테고리와 유사한 기능이라고 한다. 익스텐션은 클래스의 상속과 유사해 보이지만 새로운 기능을 추가하는 것만 가능할 뿐, 기존에 존재하는 기능을 재정의할 수 없다고 한다. 상속 익스텐션 확장 수직 확장 수평 확장 사용 클래스 타입에서만 사용 클래스, 구조체, 프로토콜, 제네릭 등 모든 타입에서 사용 재정의 재정의 가능 재정의 불가 (위 표는 야곰의 스위프트 프로그래밍 3판에 나온 표입니다.) Swift의 기본 타입인 Int에 새로운 연산 프로퍼티를 추가하여 짝수인지 홀수인지 판별할 수 있다. 또한 메서드를 추가할 수도 있다. 그 후에는 아래처럼 사용 가능하다. 백준 11724번 연결요소 문제 [문제] 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. [연결요소 (Connected Component)의 의미] [문제 해결 방식] 연결요소를 세는 문제는 처음에는 이해하기 어려웠으나, 인터넷에서 여러 가지 예제를 참고하다 보니 연결요소의 개수는 결국 DFS나 BFS를 호출하는 횟수를 의미한다는 것으로 귀결된다는 것을 알게되었다. [코드] https://github.com/papayetoo/baekjooon_swift/blob/master/baekjoon_swift/11724.swift 이전 1 다음