Skip to content

객체 지향 프로그래밍(Object-oriented-programming)

수정하기
문서 생성 2021-09-14 15:14:42 최근 수정 2022-12-20 23:24:56
  • 명령어 또는 함수의 목록으로 보는 전통적인 명령형 프로그래밍의 절차지향적 관점에서 벗어나 객체(object)의 집합으로 프로그램을 표현하고 그 객체들이 서로 상호작용하는 프로그래밍 패러다임이다.
  • 실세계의 실체(사물이나 개념)를 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작한다.
- 실체는 특징이나 성질을 나타내는 속성(attribute/property)을 갖고 있고, 이를 통해서 실체를 인식하거나 구별할 수 있다. - 다양한 속성 중 프로그램에 필요한 속성만 간추려 내어 표현하는 것을 **추상화**라 한다. - **속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조를 객체**라고 한다. - 객체지향 프로그래밍은 객체의 상태(state)를 나타내는 데이터와 상태 데이터를 조작할 수 있는 동작(behavior)을 하나의 논리적 단위로 묶어서 생각한다. - 객체의 상태 데이터를 프로퍼티, 동작을 메서드라고 부른다. ## reference - [객체지향 철학 그리고 5대 개념](https://tir.netlify.app/Dev/object-oriented-philosophy)