[CS]절자지향 언어 | 객체지향 언어

Smite·2023년 7월 23일

CS

목록 보기
3/12

프로그래밍 패러다임의 주요 접근 방식인 객체지향 언어와 절차지향 언어에 대한 특징과 차이점을 설명하자면 다음과 같다.


절차지향 언어 (Procedural Programming Language)

절차지향 언어는 프로그램을 실행하는 데 필요한 절차를 순차적으로 작성하는 방식으로 접근한다. 프로그램은 주로 함수 또는 프로시저(Procedure)의 집합으로 구성된다. 이러한 함수들은 데이터를 처리하는 데 사용되는 절차적인 단계들을 포함한다. C, Pascal, Fortran 등이 대표적인 절차지향 언어이다.

특징

  • 순차적인 절차에 따라 프로그램이 실행된다.
  • 데이터와 함수(프로시저)가 별도로 구분된다.
  • 데이터 중심의 접근 방식으로, 데이터와 함수 간의 관계를 강조한다.
  • 모듈화가 가능하지만 객체지향 언어보다 덜 추상화된다.
  • 재사용성과 유지보수가 어려울 수 있다.

객체지향 언어 (Object-Oriented Programming Language)

객체지향 언어는 현실 세계의 객체(Object) 개념을 프로그래밍에 적용하는 방식으로 접근한다. 프로그램을 객체의 집합으로 구성하며, 각 객체는 데이터와 그 데이터를 처리하는 메서드(Method)를 가지고 있다. 자바, C++, Python, C# 등이 대표적인 객체지향 언어이다.

특징

  • 프로그램을 객체로 구성하며, 객체는 상태(데이터)와 행동(메서드)를 함께 가지고 있다.
  • 캡슐화(Encapsulation)를 통해 데이터와 그를 처리하는 메서드를 하나의 단위로 묶어 정보 은닉을 지원한다.
  • 상속(Inheritance)을 통해 새로운 클래스를 기존 클래스를 기반으로 생성하여 코드 재사용과 확장성을 높힌다.
  • 다형성(Polymorphism)을 지원하여 같은 이름의 메서드가 서로 다른 객체에서 다르게 동작할 수 있도록 한다.
  • 객체 간의 관계를 모델링하여 현실 세계와 유사한 구조로 프로그램을 설계한다.

절차지향 언어 | 객체지향 언어 차이점

  1. 접근 방식: 절차지향 언어는 순차적인 절차에 따라 프로그램을 실행하고, 객체지향 언어는 객체들의 상호작용에 따라 프로그램을 실행한다.
  2. 프로그램 구성: 절차지향 언어는 함수와 데이터를 별도로 구분하여 작성하며, 객체지향 언어는 객체에 상태와 행동을 함께 묶어서 작성한다.
  3. 모듈화: 객체지향 언어는 캡슐화와 상속을 통해 모듈화가 용이하며, 코드 재사용성과 유지보수성이 뛰어나다.
  4. 추상화: 객체지향 언어는 현실 세계의 개념을 추상화하여 프로그램을 설계하는 반면, 절차지향 언어는 추상화 수준이 낮을 수 있다.
  5. 다형성: 객체지향 언어는 다형성을 지원하여 유연한 프로그래밍이 가능하며, 절차지향 언어는 다형성을 제한적으로 사용한다.

📖CS Index

0개의 댓글