💪 Today I Learned
Design Pattern
- Strategy pattern
- 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 고로 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.
Abstract Class vs Interface
추상 클래스와 인터페이스의 공통점은
-
Abstract Class
- 클래스 내 0개 이상의 추상 메소드를 갖거나
abstract
로 정의된 경우 - 추상 클래스를 상속 받아 그 기능을 이용하고 확장
- 다중 상속 불가능
- 클래스 내 0개 이상의 추상 메소드를 갖거나
-
Interface
- 모든 메소드가 추상 메소드인 경우
- 함수의 구현을 강제하기 위해 틀만 존재
- 다중 상속 가능
🏃 한마디
친구가 추상 클래스와 인터페이스의 차이점을 물어봤는데 바로 대답이 안나오고 우물쭈물거렸다. 분명 저번 학기에 배웠는데…