객체와 객체 지향 프로그래밍

최지수·2022년 2월 6일
0
post-thumbnail

객체

2가지로 설명되어요.

  1. 의사나 행위가 미치는 대상 \to 이건 사전적 의미!
  2. 구체적, 추상적 데이터의 단위 \to 학생, 회원, 생산, 주문, 배송

객체 지향 프로그램과 절차 지향 프로그램

아침에 일어나 학교를 가는 과정을 예로 들어봐요.

절차 지향 프로그래밍

시간이나 사건의 흐름에 따른 프로그래밍에요. 일반적인 학생의 루틴으로 비유하자면,

일어남 \to 씻음 \to 밥 먹음 \to 버스를 탐 \to 요금을 지불 \to 학교 도착

이렇게 일련의 과정을 프로그래밍하는 방식이라 볼 수 있어요.

객체 지향 프로그래밍

객체를 선언해서 프로그래밍하는 방식이에요.

학생과 밥, 버스, 학교는 상호 작용하는 관계로 있죠. 이처럼 관계를 가지고 프로그래밍하는 방식을 객체 지향 프로그래밍이라고 해요.

어떻게 구현할까?

  1. 객체를 정의해요.
  2. 각 객체가 제공하는 기능들을 구현해요.
  3. 각 객체가 제공하는 기능들 간의 소통메시지 전달을 통해 객체 간의 협력을 구현해요.

객체 지향 프로그래밍에서의 협력

객체 지향 프로그램에서 객체 간에는 협력이 이뤄져요. 그리고 협력을 위해선 필요한 메시지를 전송하고 이를 처리하는 기능이 구현되어야 하죠. 보통 매개 변수로 객체가 전달되는 경우가 있어요.

학생이 버스를 타려고 하면 이 버스를 탄다는 행위 안에서 카드나 돈으로 비용을 지불하게 되죠. 버스 입장에선 학생이 버스를 타면 승객 수도 하나 증가하고 수입도 지불 비용만큼 증가하게 되죠. 바로 이러한 상호작용을 협력이라고 해요.

객체 지향에 대한 설명은 이정도로 마무리 되네요. 간단하게 마무리 지을만한 주제는 아니지만, 지금은 강의을 들으면서 기록하면 좋을 것 같다는 부분만 위주로 작성하고 실습에 좀 더 집중하려 합니다. 특히 객체 지향에 대한 정리는 관련 서적을 읽으면서 상세하게 정리할 거에요. 그때까지 제 의지가 따를 수 있게 분발해보도록 할게요 ㅎㅎ

profile
#행복 #도전 #지속성

0개의 댓글