이번시간에는 객체지향 프로그래밍이 뭔지 잠시 간략하게 설명하고 가겠습니다.
객체지향 프로그래밍?
객체 지향 프로그래밍에 대해 짧게 설명해 보세요 라고 누군가가 질문하면 답변하기 어려워 지는것이 사실입니다.
괜히 주저리 주저리 말이 길어지기도 하고요..
하지만 객체지향 프로그래밍은 그냥 딱 한줄로 요약이 가능합니다.
그전에 먼저 객체란 저번에 뭐라고 했나요?
자바(Java) 이론 - 객체와 인스턴스 차이
오늘은 객체와 인스턴스 차이에 대해 알아보도록 하겠습니다. 우선 객체에 대해 잠깐 알아보도록 할까요? ...
blog.naver.com
물리적으로 존재하거나 추상적으로 생각할수 있는것
즉 현실세계에 존재하는 개념들 중 소프트웨어 개발 대상이 되는것이라고 설명했습니다.
그렇다면 객체 지향 프로그래밍은?
객체들이 메시지를 통해서 상호작용하면서 전체 시스템이 운영되는 개념을 뜻합니다.

엥... 이게 끝..?
즉 객체지향 프로그래밍이란 현실세계의 복잡한 메커니즘을 현실 세계의 인간이 이해하는 방식으로 시스템에 적용시킨것이며
이를 위해 객체지향에는 각각 객체, 클래스, 메시지가 있는것입니다.
객체, 클래스에 대해서는 따로 설명을 하지 않겠습니다.
자바(JAVA) 클래스(class)란?
이번 시간에는 JAVA 의 클래스에 대해 간단하게 알아보겠습니다. Class란? 정말 여러가지로 설명할수 ...
blog.naver.com
클래스는 해당 포스팅에서, 객체는 아까 위쪽 포스팅에서 설명을 했기 때문이죠..
메시지에 대해서만 설명을 드리겠습니다.
메시지란?
객체들 사이의 상호작용 수단을 하기 위한 것이 메시지 입니다.
즉 메시지란 어떤 한 객체가 다른 객체에게 특정 작업을 요청하는 신호를 의미합니다.
메시지를 보내는 객체를 송신 객체(Sender)라 하고, 메시지를 받아서 동작을 수행하는 객체를 수신 객체(Receiver)라고 합니다.
음... 이해가 잘 되지 않으신가요?
그렇다면 자바를 예제로 설명을 드리겠습니다.
자바(Java) 정렬 - 삽입정렬(Insertion Sort)
이번에 알아볼 정렬 알고리즘은 삽입 정렬이라는 것입니다. 삽입정렬? 삽입정렬이라... 뭘 삽입한다는 것일...
blog.naver.com
전에 삽입정렬 포스팅 한 예제를 들고오겠습니다.
우선 메시지는 세가지 부분으로 구성되어 있습니다.
- 수신자 객체 (Recevier)
- 메서드 이름
- 인자 (argument)
이걸 코드로 표현하면 아래와 같이 되겠죠

여기서 수신자 (Recevier)는 insertionSort, 메서드는 sort, 인자는 origin 이렇게 확인할수가 있습니다.
즉 Main(Sender) 에서 insertionSort에 sort라는 작업을 요청한 것이고 (메시지)
insertionSort(Recevier)는 해당 작업을 수행하고 나온 결과를 Main(Sender)에 전달해준것입니다.
오늘은 간단하게 객체지향 프로그래밍에 대해 알아봤는데요
누군가가 객체지향 프로그래밍에 대해 물으신다면 그냥 간단하게
객체들간 상호작용을 통해서 전체적인 시스템이 흘러가는 프로그래밍 이라고 말하시면 됩니다.
'개발관련 > 용어' 카테고리의 다른 글
SOLID 원칙이란? (객체지향 5대원칙) (0) | 2023.06.29 |
---|---|
아키텍처패턴과 디자인 패턴 차이 (0) | 2023.06.29 |
안정정렬, 불안정 정렬, 제자리 알고리즘 / Stable Sort, Unstable Sort, In-place Algorithm (0) | 2023.06.29 |
시간복잡도, 공간복잡도 (0) | 2023.06.28 |
스펙트로그램(Spectrogram)? (0) | 2023.06.28 |