로딩
요청 처리 중입니다...

POP - (Protocol Oriented Programming)

 POP - (Protocol Oriented Programming)

OOP 라는 굉장한 프로그래밍 패러다임이 있다. 코딩을 하기 위해 객체를 생성하고, 비슷한 부분을 추상화하여 코드의 양을 줄이고, 좀더 범용적이게 코딩을 할 수 있는 패러다임이다.

대부분의 현대 언어가 OOP를 지원한다. Swift는 OOP를 넘어 POP라는 것을 지원한다.

POP가 나오게 된것은 OOP의 주요기능인 상속의 한계, 클래스 뿐만아니라 Struct에도 적용이 가능 탁월한 추상화 등의 역할을 할 수 있다. OOP 의 장점은 당므과 같다. * 캡슐화: 속성과 속성을 제어하는 행위를 모아 은닉할 수 있다. * 접근제어: 접근을 제어할 수 있다. * 추상화: 공통 속성 추출할 수 있다. * 다형성: 하나의 형태를 사용하여 객체를 여러 타입으로 사용할 수 있다.

OOP 의 단점은 또 다음과 같다. * 암시적 공유: 의도하지 않았는데, 상속했다는 이유로 모든 속성과 행위를 공유한다. * 단일체: 단 하나의 부모만 존재한다. 상속은 딱 하나만 된다. * 클래스 타입 관계 문제: 복잡...