CSあるある

추상화에 대한 정리(Feat. 객체 지향,oop)

JIN_YOUNG _KIM 2025. 1. 31. 03:20

추상화 : 여러 곳에서의 "공통된/중복된 [역할]"을 따로 뺌(SRP)
-> 기대 효과 : 1] 개발/운영 중 요구 사항/코드 [변경]에 따른 클라이언트 코드 [변경]'의' 최소화(OCP)
                 : 2] 단일 책임 원칙으로 인한 [코드 중복]'의' 최소화
                    -> 개발/운영 중 요구 사항/코드 [변경]에 따른 개발자의 개발량/실수 감소. 
EX) AppConfig 클래스  
EX) Front Controller(Dispatcher Servlet) : 클라이언트에서 필요한 컨트롤러를 찾아 주는 [역할]
->Front Contrller를 만들기 전에는 개발자가 일일이 서블릿을 등록하였다. 
그 역할이 개발자로부터 분리되었다. 


객체지향 = 다형성 + SOLID(인간이 세상을 이해하는 방식과 비슷하게 프로그래밍을 가능하게 한 개발 패러다임 중 하나)
-> 다형성 = 역할(인터페이스)과 구현(구현체)의 분리(구현체의 변경에 영향을 받지 않음)
-> S : 단일 책임 원칙(코드 중복의 최소화)
-> O : 확장에는 Open, 코드 변경에는 Closed
-> D : 인터페이스에 의존(Dependent)