[소프트웨어공학] 7. 객체지향 (1) - abstraction, 캡슐화, 상속
·
CS/소프트웨어공학
이번 글부터는 객체지향의 주요 개념을 소프트웨어 개발 방법의 관점에서 살펴보려고 한다. 먼저 객체지향이 등장한 배경은 SW의 모듈화를 위해서였다.모듈은 소프트웨어를 설계할 때 '독립적인 기능을 수행하는 개발단위'를 말한다.기능이 독립적이라는 뜻은 이 기능이 다른 모듈의 변화에 영향을 주지도, 받지도 않는다는 것을 말한다. HW에서의 모듈화를 생각해보자.컴퓨터를 조립할 때, CPU, RAM, SSD, 그래픽카드, 네트워크카드, 파워, 팬, 마더보드 등의 부품이 필요하다.그런데 이 각각의 부품들은 모두 서로 다른 제조사에서 만든다.하지만 이 부품들을 잘 모아서 조립하면 하나의 온전한 컴퓨터로서 기능한다.다른 부품을 그대로 두고 RAM 만 바꾸거나, 그래픽카드만 바꾸거나 해도 다른 하드웨어의 동작에는 전혀 영..