프로그래밍 하시는 분들은 한번쯤 들어보셨을겁니다 객체지향언어와 절차지향언어 이 두개는 무엇이며 두 언어의 차이점은 무엇인가에 대해서 정리하겠습니다.
객체지향 vs 절차지향
절차지향
정의
- 절차 지향 프로그래밍(Procedural Programming)
- 루틴, 서브루틴, 매서드, 함수등(이를 통틀어 프로시저라고 한다.)을 이용한 프로그래밍
패러다임을 뜻한다.
- 위에서부터 순서대로 실행된다
컴퓨터의 작업처리방식과 유사하기 때문에 객체지향보다 빠른처리가 가능
- 계산 중심적인 언어
- 함수(or 프로시저)가 중심이되고 데이터는 보조기능을 하는 언어
지원언어
- C
등등
객체지향
객체란?
기존에 사용하던 함수와 변수를 하나로 묶어놓은 집합입니다.
Ex) 눈 코 입을 모아놓은 사람의 얼굴이라는 객체
학생들이 모여있는 하나의 학급이라는 객체
정의
- 객체 지향 프로그래밍(Object-Oriented Programming, OOP)
- 객체를 모델링하여 객체들의 상호작용으로 서술
=>즉. 객체지향은 객체단위로 전부다 나눠서 객체들을 가지고 서로 연결해서 사용
지원언어
- Ruby
- Python
등등..
객체지향의 특징
절차지향에는 없지만 객체지향의 특징은 캡슐화, 상속, 다형성에 대해서 알고 넘어갑니다
추상화
- 불필요한 정보는 숨기고 중요한 정보만을 표현
-
캡슐화(Encapsulation)
- 코드를 재활용하기 위한 목적 (그렇기 때문에 코드를 재수정없이 해야함)
- 캡슐화를 지키지 않으면 상속과 다형성은 성립이 되지 않음
상속(Inheritance)
- 상위개념의 특징을 하위개념이 물려받는 특징입니다.
- 하나의 클래스가 가지고 있는 특징을 그대로 다른 클래스에게 돌려주고자 할때를 말합니다.
Ex) 아빠클래스의 눈 코 입을 아들클래스가 상속받았다.
다형성(Polymorphism)
- 하나의 변수에 여러종류 데이터를 대입 할 수 있는 성질
'프로그래밍 > 취업준비(개인공부)' 카테고리의 다른 글
[머신비전] 머신비전이란? (0) | 2016.07.27 |
---|---|
[델파이] Delphi란 무엇이며 왜 아직까지 사용하는가? (1) | 2016.07.27 |
[MFC] MFC란? 기초부터 개념잡기 및 용어정리 (0) | 2016.07.27 |