자바(Java)〃객체지향 vs 절차지향 비교+장점과 단점

반응형

              

웹개발 할때 필요한 수많은 프로그래밍 언어중에 자바를 공부하는 이유 하나만 말하자면, 자바는 객체를 지향하는 언어라 사용하기 쉽고 편리하기 때문인데요.


객체 지향이 무엇인지 알아보자면 그 반대인 절차지향 언어와 비교해서 한번 알아보면 이해하기 쉽습니다.


대표적으로 C언어가 절차지향 언어로 프로그램의 데이터를 처리하는 방법인 알고리즘을 중요시하며 순차적으로 실행하는 구조를 가집니다. 헷갈리기 쉬운점은 절차지향을 사용할때 외부적으로 객체지향과 같은 처리를 하는걸로 보일 수 있으나, 여기서 말하는 순차적 실행은 프로그래밍 내부적으로 함수 호출을 할때 순서대로 처리하는걸로 이해하시면 되겠습니다.



절차지향 언어의 장점과 단점입니다. 단점은 많지만 제가 알고있는 장점은 실행처리속도가 빠르다라는 것만 알고 있기 때문에 두가지 모두 똑같은 말인데 풀어 써봤어요. 



반대로 객체지향 언어의 대표인 자바(Java)는 데이터의 처리방법보다는 프로그램이 사용하고 있는 데이터를 중요하게 생각합니다.


객체지향에서는 필드(멤버 변수)와 메소드(함수)라는 용어를 자주 사용하게 되는데요. 사람을 예로 들자면 사람 = 객체 / 이름 = 필드 / 움직인다 = 메소드라고 이해하시면 그리 어렵지 않습니다.


2015/10/29 - 자바(Java)〃객체지향 특징 상속/캡슐화/다형성


또한 자바의 핵심인 클래스라는 용어가 있는데 자세한건 다음글에서 정리하도록 하겠지만, 간단하게 설명하자면 객체또한 무언가를 통해 생성이 되야 되는데 그 상위구조가 클래스입니다. 


컴퓨터 모니터를 예로 들면 모니터 = 객체 / 21인치 크기 = 필드 / 화면을 킨다 = 메소드가 있지만 이와 같은 모니터를 만드려면 설계가 필요하다는걸 다들 알고 계실겁니다. 클래스가 객체를 만들기 위한 설계도이자 클래스를 통해 객체를 생성한다고 생각하시면 될거에요.


객체지향 언어의 장점과 단점을 비교해봤습니다. 객체 지향은 객체를 Heap영역에 만들어 놓고 필요할때 꺼내 쓰기 때문에 코드의 재활용이 가능하고, 유지보수와 업그레이드가 쉬운게 가장 큰 장점이 되겠네요.


2015/10/19 - 자바(Java) Heap영역과 Stack영역 정리


단점은 객체를 많이 만들어 놓으니 처리속도가 절차지향에 비해 상대적으로 느리고, 프로젝트 설계를 처음부터 잘못하면 나중에 다시 설계를 시작해야 되는 단점이 있습니다.  

반응형