프로그래밍 언어를 분류하는 방법 중 프로그래밍 스타일에 따라 순차 지향적 언어와 객체 지향적 언어로 나누는 방법이 있다. 순차 지향적 언어와 객체 지향적 언어는 문법 자체에 차이가 있는 것은 아니며, 단지 프로그래밍 하는 방법과 설계 상의 차이가 둘을 구분짓는다.

순차 지향적 언어란, 말 그대로 순차적으로 실행되는 언어이다. 프로그램이 있을 경우 실행 순서는 무조건 위에서 아래이며, 제어문이 이 흐름을 통제할 수 있다. 간단한 프로그램은 대부분 순차 지향적으로 작성된다. 이는 프로그래밍이 쉽고 간결하며 직관적이기 때문이다. 단순히 위에서 아래로 글을 쓰듯 프로그램을 작성할 수 있는 것이 순차 지향적 언어의 특징이다.

하지만 순차 지향적 언어에는 한계가 있다. 복잡한 프로그램을 작성할 경우, 순차 지향적으로 작성하면 오히려 프로그램이 지저분해지는 경향이 있다. 이를 극복하기 위해서 생겨난 것이 객체 지향적인 프로그래밍 스타일이다.

객체 지향적이란, 프로그램의 모든 요소를 객체라는 단위로 쪼개어 프로그램을 작성하는 것이다. 객체는 어떤 것이든 될 수 있다. 보이는 사물(사람, 동물, 사과 등) 뿐만 아니라, 동작(먹다, 죽다, 자다 등), 추상적인 개념(사랑, 환상 등)까지 객체화 할 수 있는 것들이다.

프로그래밍에 객체화를 적용시키면, 모든 것이 구조화되고 캡슐화되기 때문에 아무리 복잡한 프로그램이라도 체계적으로 짤 수 있게 된다. 간단하지만, 주소록 프로그램을 예로 들어보자. 충분히 순차적 프로그램으로 짜도 되는 프로그램이지만, 객체 지향적으로 짠다고 가정하자. 객체가 될 수 있는 것들에는 가장 큰 '주소록' 이 있다. '주소록'이라는 객체는 또 다른 객체를 그 안에 포함할 수 있는데, 예컨대 '사람'이라는 객체와 '추가하다', '제거하다'와 같은 동작 등이 있을 것이다. '사람'이라는 객체는 또 그 안에 '이름', '주소', '전화번호'와 같은 세부 객체를 포함한다.

이렇게 프로그램을 구조화하고 객체화하면 프로그램이 아무리 복잡해져도 프로그램이 일관성을 유지할 수 있다. 또한 주소록 프로그램에서 쓰인 '사람'이라는 객체를 전화번호부 프로그램에도 조금의 코드 수정만 거쳐 이용할 수 있기 때문에 '코드의 재사용성'이 높아진다. 이와 같은 장점 때문에 대규모 프로그램 등이 개발되는 근래 객체 지향적 프로그래밍이 인기를 얻고 있는 것이다.

이올린에 북마크하기(0) 이올린에 추천하기(0)

트랙백 주소 :: http://harrys.co.kr/blog/lab/trackback/17

댓글을 달아 주세요