상속을 받은 클래스에서 생성자를 만들 때는, 부모의 생성자를 호출시켜야 한다. * 2-phase Initialization : 클래스 생성시의 두 단계 -> 보다 안정적인 코드를 작성하기 위해 지켜야 한다. phase1. 모든 property는 initialized 되어야 한다. (init할 때, 자식에게만 있는 sports를 먼저 지정해준 뒤 부모 init을 호출시킨다.) phase2. phase1을 모두 끝낸 뒤에야 property와 method의 사용이 가능해진다. - designated Initializer : 주 initializer - convenience Initializer : 부 initializer (initializer가 너무 길때 유용하게 사용 가능 + 원하는 것만 딱 받아서 사용이..
Inheritance : 클래스의 공통 된 부분은 최대한 재활용하기 위한 방법 Person : Super Class (Parent Class) Student : Sub Class (Child Class) * 상속의 규칙 1. 자식은 한개의 suer class만 상속 받는다. 2. 부모는 여러 자식들을 가질 수 있다. 3. 상속의 깊이는 상관이 없다. (할머니 클래스도 생성가능) * 상속을 사용할 때 필요한 고려사항 Single Responsibility (단일책임) : 클래스는 최대한 한가지 일에만 집중한다. (골기퍼는 골 막는거만 생각한다) Type Safety (타입이 분명해야 할 때) : 개발타입 - 웹개발 클래스, 모바일 클래스 이런식으로 딱딱 타입이 있을 때 Shared Base Classes ..