여러가지 프로그래밍 방법론의 목적은 프로그래밍을 잘~ 하는것이다. 그러면 객체지향은 프로그래밍은 어떻게 잘 하는것 일까? 단순히 요소나 원칙을 암기는 하는 것보다는 나오게 된 배경과 목적을 알면 조금 더 쉽게 이해할 수 있을거 같아 알아보았다.
기존의 프로그래밍 기법은 절차 지향 프로그래밍과 구조적 프로그래밍이다. 이들의 단점은 데이터의 처리방법을 구조화 했을 뿐 데이터 자체는 구조화 하지 못하였다고 한다. 그러면 어떻게 데이터를 구조화 할것인가? 여기에서 고민하다 나온 방법이 객체지향 프로그래밍이다. 아마 OOP를 만들 때 다음과 같은 목표를 설정하였을 것이고 현재 OOP의 장점이다.
위 목표를 달성하기 위하여 클래스와 객체라는 개념이 도입 되었다. 클래스는 객체의 명세서라고 할수 있으며 클래스를 통해 객체를 만들수 있게 된다. 객체는 속성과 기능으로 구조화 되어있고 이에 대한 정의는 클래스에서 한다.
객체지향 프로그래밍에 대해 알아 보고 내 생각대로 풀이를 해보았다. 그래서 객체 지향의 특성만 알면 잘~ 프로그래밍 할수 있을까? 아니다. 수학공식을 안다고 해서 문제를 풀수 있는게 아닌 것처럼 공식을 문제에 잘 적용 하듯이 특성들을 잘 적용해야한다. 그럼 코드를 어떻게 적용 해야할까? 다행히도 객체지향 5원칙(SOLID)이라고 해서 방향성을 제시하여 주셨다. 다음글에서는 그에 대해 알아보려고 한다.
P.S 위에 기술한 내용들은 책과 인터넷을 바탕으로 제 생각을 적은 것이라 틀릴 수 있습니다.
[참조]