객채지향프로그래밍이 필요한 이유

biznetpia2009.05.21
조회101
객채지향프로그래밍이 필요한 이유


 

객체 지향이란,
흔히 일상생활과 민첩하게 작용하므로 많이 비유를 한다.한가지 예로 우리가 사용하는 컴퓨터를 볼 수가 있다. 컴퓨터는 모니터, 본체, 스피커, 마우스등으로 이루어져 있고 각각의 이러한 것들을 객체라고 볼수 있다. 각각의 객체들이 이어져서 작동하고, 쓰여지게 된다. 또한,  컴퓨터에서 스피커를 바꾼다던가, 아님 마우스를 바꾼다고 해도 컴퓨터는 작동을 하게 되고, 컴퓨터의 마우스를 노트북이나 다른 컴퓨터에 사용하여도 그대로 작동을 하게 된다. 객체지향 프로그래밍이란 이처럼 각각의 객체들이 모여서 프로그램을 하는것이라고 볼 수 있다. 객체 지향의 가장 큰 장점은 어떤 객체를 하나 바꾼다고 해도 기존의 틀(즉, 컴퓨터의 작동) 에서 벗어나지 않고 교환이 가능하다는 것이다.

 

그럼 절차지향이란, 무엇을 말하는 것일까?

예를 들어  숫자를 셀때 1부터 10까지 센다고 가정을 하면 순서대로 1, 2, 3,...9, 10처럼 읽어 가는 것을 말한다.
즉 순서대로(절차대로) 프로그램을 실행하는 것이다.  1번이 있으면 1번대로 실행을 한뒤 2번을 실행하고 그 다음 3번을 실행하는 것을 말한다. 여기서 하나를 바꾼다면 기존에 프로그램해 놓았던것까지 변경을 해야 한다는 점이 객체지향과는 다른점 이라고 볼 수 있다.

 

객체 지향의 장점

객체지향프로그래밍에서 추구하는 궁극적인 목표는 잘 설계된 클래스들을 재사용하는것이라고 볼 수 있다. 각각의 객체들이 독립적이므로 즉,  컴퓨터의 부품(객체)들을 다른 컴퓨터나 노트북에서 사용할 수 있듯이 재사용함으로써 생산성이 증가된다고 볼 수 있다.

 

그리고 일상생활에서 생각하는 방식을 그대로 프로그램언어로 표현하기 때문에 이해만 하게 되면 프로그램밍의 극대화를 모색할수 있게된다. 위에서 말한 재사용성을 프로그램에 비유 하자면 자바안의 subclass들이 superclass의 속성을 표현한 코드들을 재사용함으로써 새로운 프로그램 개발시 기존 프로그램이 갖고 있는 클래스상속 구조를 이어 받아 재사용할 수 있다.

 

기존의 기능을 수정하거나 새로운 기능을 추가 하기가 용이하다. 기존기능을 수정하거나 함수를 새롭게 바꾸더라도 캡슐화와 그 함수의 세부정보가 은폐되어 있기 때문에 주변에 미치는 영향을 최소화 할수 있다. 새로운 객체의 종류를 추가할때에도 속성상속을 통하여 기존의 기능을 활용하고 존재하지 않은 새로운 속성만 추가하게 되므로 매우 경제적이라 볼 수 있다. 즉 유지 보수가 편하다는 것이다. 또한 각각의 객체들이 독립적이므로 점진적 프로그램 개발이 용이 하며, 요구사항변화에 대해 안정된 프로그램을 할 수 있게 해 준다.