패스트캠퍼스 챌린지 16일차
오늘은 클래스의 중요개념인 상속에 대해서 강의를 하는 것으로 시작하였다.
스위프트의 클래스 상속은 C++과 비슷하게 : 뒤에 부모 클래스를 명시하는 것으로 선언이 된다.
일단 상속이 되면 부모클래스의 생성자를 물려봤고, 프로퍼티와 메소드 역시 동일하게 사용할 수 있게 된다.
상속은 동일한 뼈대를 가지고 약간의 차이점만 있는 파생 클래스를 만들 때 사용을 하게 된다.
보통 A is B의 형태를 가질 때 B가 A의 부모 클래스가 되고, A는 B의 상속이라고 생각할 수 있다.
예제에서는 Person과 Student를 예로 들어서 Student is Person.
즉, Student가 Person을 상속받아서 자식 클래스가 되는 것이다.
클래스 개념은 OOP에서 중요한 개념이기 때문에 잘 알아두는 것이 좋다.
C++은 다중상속이 가능하나 스위프트는 하나의 Superclass만 상속을 받을 수 있다.
상속은 꼭 필요할 때만 쓸수 있도록 단순화시켰다고 생각한다.
상속의 깊이는 제한이 없다. 상속받은 클래스를 부모클래스로 또 다른 자식 클래스를 만들 수 있는 것이다.
강의에서는 이부분을 이용해서 상속을 실습을 하였다.
Person->Student->StudentAthlete 형태로 깊이가 깊어지는 상속을 구현해보았다.
상속된 메소드를 자식 클래스에 맞게 변경을 하고 싶으면 override 키워드를 사용해서
새로 구현을 할 수가 있다.
클래스를 upper casting을 할때는 as 키워드를 사용할 수 있다.
공통 클래스를 뽑아내서 같은 처리를 할때 유용한 방법이다.
상속은 언제하면 좋을지에 대해서도 알아보았다.
다음과 같은 때인데 자세한 설명은 넘어가겠다.
- Single Responsibility (단일 책임)
- Type Safety (타입이 분명해야 할때)
- Shared Base Classes (다자녀가 있다!)
- Extensibility (확장성이 필요한 경우)
- Identity (정체를 파악하기 위해)
오늘은 클래스에 대해서 알아보았다.
내일부터는 다시 앱 실습에 대해서 진행이 된다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #iOS앱개발올인원패키지