더북(TheBook)

물론 사람의 웃는 얼굴이다. 어떻게 이런 답을 얻었을까? 추상화를 사용하여 답을 얻었다! 사람의 얼굴은 저마다 모두 다르며, 생김새도 제각각이다(물론 예외는 있기 마련이다). 이런 복잡성에 대처할 수 있는 방법은 무엇일까? 머리 모양과 색상처럼 핵심적이지 않은 세부 사항은 제거했다. 또 얼굴에는 눈이 두 개 있으며, 웃을 때 입꼬리가 위로 올라간다는 사실을 이용하여 공통점을 일반화하는 방법으로 해답에 도달했다.

추상화는 의사소통과 문제 해결에 효과적이면서 단순한 수단을 제공하는 강력한 원칙이다. 의사소통을 위한 추상화의 예로 회사 로고와 신호 등을 들 수 있고, 문제 해결을 위한 일종의 도구로 볼 수 있는 추상화의 예로는 수학 기호와 프로그래밍 언어를 들 수 있다.

현대적인 소프트웨어는 너무나도 복잡하여 종종 코드가 수백만 행에 달하기도 한다. 이런 시스템의 복잡성은 최대한 가장 효과적인 방식으로 추상화와 같은 강력한 원칙을 적용하여 길들일 필요가 있다. 그러면 소프트웨어 설계에서 추상화 원칙은 어떻게 적용할 수 있을까?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.