단일 책임 원칙(Single Responsibility Principle)
개방-폐쇄 원칙(Open Closed Principle)
리스코프 치환 원칙(Liskov Substitution Principle)
공변성
의 예를 들면, List<? extends B>란 B를 상속받는 타입으로 이루어진 리스트가 있다면 List를 사용할 수 있다는 내용이다.반공변성
의 예를 들면, List<? extends B>란 리스트가 있을 때 List를 사용할 수 있다는 것이다. 물론 A의 부모 타입으로도 치환이 가능하다.
인터페이스 분리 원칙(Interface Segregation Principle)
의존 역전 원칙(Dependency Inversion Principle)
MVC 디자인 패턴
MVP 디자인 패턴
MVVM 디자인 패턴
의존성 주입(DI, Dependency Injection)
제어의 역전(IoC, Inversion of Control)
Dagger2 RxJava 마블 다이어그램 Observable
리플렉션
Dynamic proxy