본문 바로가기
IT정보/북마크털기 📚

[북털] 객체지향 프로그래밍이란?

by narang111 2022. 2. 14.

객체지향 프로그래밍이란 무엇인가? 알면서도 깔끔하게 말하기 어려울 것 같다.

 

객체지향 프로그래밍은 문제를 여러 개의 객체 단위로 나눠 작업하는 방식이다.

 

현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 떄에도 객체들을 조립해서 작성할 수 있는 기법을 말한다

 

 


객체지향 프로그래밍 장점

객체지향 프로그래밍의 가장 큰 특징은 클래스를 이용해 연관 있는 처리부분(함수)과 데이터 부분(변수)를 하나로 묶어 객체(인스턴스)를 생성해 사용한다는 점이다. 

그리고 객체지향 프로그래밍에서는 프로젝트를 독립적인 객체 단위로 분리해서 작업할 수 있기 때문에  여러 개발자와 협업해 규모가 큰 프로젝트를 진행할 수 있으며 유지보수측면도 뛰어나다는 장점이 있다.



객체지향 주요 구성 요소와 개념

객체 데이터와 데이터를 처리하는 함수를 묶어 놓은(캡슐화한) 하나의 소프트웨어 모듈이다.
클래스 클래스는 공통된 속성과 연산을 갖는 객체의 집합으로, 객체의 일반적인 타입을 의미한다.
캡슐화 캡슐화는 데이터와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다.
캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은닉되어 외부에서의 접근이 제한적이다.
상속 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것이다.
다형성 다형성은 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 의미한다.
연관성 연관성은 두 개 이상의 객체들이 상호 참조하는 관계를 말하며 is member of, is instance of, is part of, is a 등의 종류가 있다.

 

 

대표적인 객체지향 프로그래밍 언어들이다.(wikipedia)