개발자는 대게 2가지로 분류
기술 주의
대상을 **물리적인 기술**에 기준하여 해석하고 평가하는 사고 방식
논리 주의
대상을 **추상적인 논리**에 의해 해석하고 평가하는 사고 방식
대상 을 해석하고 평가할때, 두 가지 주의로 바라보면 대상을 바라보게 된다
구체화가 모여 추상화가 된다 구체화가 추상화에 의존 구체화는 추상화가 없이 존재할 수 없다?
높은 수준, 구체화는 낮은 수준
낮은 수준은 높은 수준 없이는 존재하지 않습니다.
추상화는 논리주의, 구체화는 기술 주의
EX) 음악은 추상화(높은 수준) , 가창력은 구체화(낮은 수준)
그러나, 학원(대상)은 기술을 잘 알려주는 곳이 좋다
그렇다면, 소프트웨어는 어떨까요?
예시들을 살펴보겠습니다
개체 자체가 명령이다
아래 예시는, 구체화(기술)의 관점에선 동일하지만, 추상화(논리)의 관점에선 동일하지 않다고 볼 수 있다
class SaveCommand() {
void Execute() {
}
}
class Save() {
void Run() {
}
}
도메인을 풀어낸 원격지의 API 호출 계약