• Swift에서 내부의 데이터를 통제할 때
    • let, var
    • protocol에서 property의 { get set }
  • OOP와 POP의 차이
    • OOP에서는 기능을 한 Class에서 구현하고 이후에 다른 Class에서 같은 기능을 구현해야할 경우에 SuperClass를 구현하여 처리.
    • POP에서는 기능을 Protocol에서 먼저 형태를 설계한 이후에 Class에서 구현.
    • OOP의 SuperClass와 상속받은 Class의 관계보다 POP에서의 Protocol과 Class/Structure의 dependency가 약함. (예를 들어 OOP에서 구현한 SuperClass를 삭제한 경우 문제가 발생할 소지가 크지만 POP 방식으로 구현한 Protocol을 제거할 경우 비교적 문제가 발생할 소지가 적다.)