절차 지향 언어 vs 객체 지향 언어절차 지향 언어 vs 객체 지향 언어

Posted at 2013. 6. 11. 18:40 | Posted in 1학기/컴퓨터활용

절차 지향 언어 [ procedure-oriented language, 節次指向言語]

 

프로그램을 작성할 때 실행 순서를 지정하게 되는 프로그램 작성 언어.

문제의 해결 순서와 절차의 표현과 해결이 쉽도록 설계된 프로그램 언어로서

고수준 언어에는 C 언어, 파스칼, 코볼, 포트란, 알골, PL/1 등이 있다.

이에 대하여 리스프(LISP)와 같은 함수형 언어나 프롤로그와 같은 논리형 프로그램 작성 언어는

실행 순서를 지정할 필요가 없어 비절차형, 또는 비절차 지향 언어라고 한다.

객체 지향 언어 [ object-oriented language, 客體指向言語 ]

객체 지향 프로그래밍(OOP) 환경에서 사용되는 프로그램 언어의 총칭.

대표적인 객체 지향 언어로는 추상 데이터형 프로그램 언어의 시조라고 할 수 있는

시뮬레이션 언어 시뮬라, 스몰토크 80 등이 있다.

또한 기존 언어에서 객체 지향으로 확장된 것으로는 표와 같은 것이 있다.

 

 

 

절차 vs 객체

절차지향언어는 말그대로 순서를 뜻한다면 객체지향언어 이외의 모든 언어가 됩니다.

하지만 절차는 procedure(스펠이 맞는지 모르겠습니다.)를 번역한 것이죠.

C에서는 함수라는 것 밖에 없지만 다른 언어에서는 함수 이외에도

proceduresubroutine 등의 이름으로 비슷한 도구를 제공합니다.

그런의미에서 보면 절차지향 언어는 함수나 서브루틴으로 이루어진 언어를 의미할 수도 있습니다.

객체지향언어와 절차지향언어의 가장 뚜렷한 차이점은 클래스와 객체가 있느냐 없느냐입니다.

객체지향언어는 그 언어의 기본요소가 객체로 되어있습니다.

클래스는 객체를 생성하기위한 틀에 해당합니다. 그래서 클래스를 정의하는 것은 곧 객체를 설계하는 것입니다.

사실 객체라는 것은 여러가지 정보를 가진 정보의 덩어리에 불과합니다.

하지만 객체는 자신만의 전용 함수들을 갖고 있습니다. 이 것들을 멤버함수 또는 메서드라고 부르죠.

이 메서드는 객체가 가진 멤버변수들에 대해서는 따로 입력받지 않고도 접근할 수 있어서

주로 객체가 특정 입력을 받았을 때 알맞는 반응을 보이도록하는데에 사용합니다.

그리고 이런 식으로 객체를 설계하는 것이 프로그래밍 작업의 주요한 부분입니다. 그래서 객체지향언어라고 부릅니다.

하지만 절차지향언어로도 객체지향 프로그래밍을 하는 것이 가능합니다.

절차지향 언어의 대표격인 C언어는 구조체라는 도구를 제공해서 정보 덩어리를 생성할 수 있게 해줍니다.

또한 포인터를 제공하므로 구조체를 함수에 넘기기 쉽도록 해줍니다.

비록 언어차원에서 직접적인 지원은 못받지만

어떤 구조체가 자신만의 전용함수들을 가지고 있다면 객체지향 언어의 객체와 다를 바가 없습니다.

C언어에서 자주 사용하는 파일포인터와 f로 시작하는 파일 액세스 함수들이 바로 그런 예지요.

'1학기 > 컴퓨터활용' 카테고리의 다른 글

INTERNET  (0) 2013.05.13
NET  (0) 2013.05.13
NET  (0) 2013.05.13
컴퓨터 활용  (0) 2013.05.13
컴퓨터활용  (0) 2013.05.13
//