GoF 디자인패턴 23개
생성 패턴 (Creational Pattern)
구조 패턴 (Structural Pattern)
행위 패턴 (Behavioral Pattern)
Aspect Oriented Programming, 관점 지향 프로그래밍의 약자로 관점을 기준으로 다양한 기능을 분리하여 보는 프로그래밍이다.
객체지향 프로그래밍을 보완하기 위해 쓰인다.
부가 기능 로직의 코드를 핵심 비즈니스 로직의 코드와 분리하여 코드의 간결성을 높이고 변경에 유연함과 무한한 확장이 가능하도록 하는 것
런타임 시점에 적용
-> 컴파일 시점과 클래스 로딩 시점에 적용하려면 별도의 컴파일러와 클래스로더 조작기를 써야 하는데, 이를 정하고 사용/유지하는 과정이 매우 어렵고 복잡하다.