본문 바로가기
CS/Computer Basic

[CS/Basic] 그래서, 객체(Object)가 무엇인가요?

by iosdevlime 2022. 12. 29.

프로그래밍의 패러다임 중,

[목적/방식]에 따라 명령형 / 선언형 2가지 형태를 앞선 포스팅에서 살펴보았습니다.

 

좀 더 파고들어, 

명령형에서 파생되는 절차적, 객체지향 프로그래밍을 이해하기에 앞서

 

코딩을 하면서 자주 사용되는 언어인

'객체(Object)'란 개념에 대해 슬쩍 알아보는 시간을 가져볼까 합니다.

 

 

 

그래서, 객체란 대체 무엇인가요?

 

 

 


 

 

 

객체(Object)란 ?

객체의 사전적 의미는, 특정 실체를 '객관화' 하여 인식하거나 이해하는 대상

 

사실, '객체'란 단어는 일상생활에서 흔히 사용되는 말은 아닙니다.

따라서, 철학적 측면으로 접근하여 이해해야 하는 개념이기도 합니다.

 

 

결론부터 얘기하자면, 다음과 같습니다.

 

세상에 실제로 존재하는 것을 '실체'라고 칭한다면,

내(주체)다른 실체를 바라볼때, 그 실체가 바로 객체라는 것.

 

 

 

 

실체와 주체, 그리고 객체

  • 실체(혹은 개체)란, 사전적 의미에서 '실제로 존재하는 것'입니다.
    • 사람, 고양이, 물, 자동차 등 모든 것이 존재하는 하나의 실체입니다.
  • 주체(Subject)란, '나'라는 실체를 1인칭으로 보는 이름입니다.
    • 다시 말해, 내 스스로가 나를 바라볼 때 주체가 됩니다.
  • 객체(Object)란, 주체(나)가 다른 주체(타인)를 부르는 이름입니다.
    • 객체란 명칭은 풀이로 객(손님,)체입니다.
    • 즉, 본인 이외 다른 실체를 의미합니다.

주체, 객체, 그리고 다른 사람들도 모두 하나의 실체(개체) 입니다.
주체, 객체, 그리고 다른 사람들도 모두 하나의 실체(개체) 입니다.

 

 

 

 

 

객체의 구성요소 및 특징

  • 객체란, 속성(State)과 행위(Behave)를 가진 실체입니다.
    • '속성'이라 함은 해당 객체이자 실체가 스스로를 나타낼 수 있는 특징과도 같습니다.
    • '행위'란, 객체이자 실체가 할 수 있는 역량이자 동작입니다.
  • 예를 들어 '자전거'란 객체를 살펴보자면 ? 
    • 자전거는 몸체(객체) + 바퀴(객체) + 핸들(객체)로 구성된 하나의 큰 객체입니다.

몸체, 바퀴, 핸들(객체)가 모여 자전거(객체)가 된다!
몸체, 바퀴, 핸들(객체)가 모여 자전거(객체)가 된다!

 

  • 그 중, 바퀴(객체)는 다음과 같이 구성되어 있습니다.
    • 무늬, 색상, 크기 ➟ 속성(State)
    • 굴러가기, 멈추기 ➟ 행위(Behave) 

바퀴(객체)의 속성과 행위
바퀴(객체)의 속성과 행위

 

 

 

 

프로그래밍에서의 객체란?

  • '프로그램'이란 실체는, 개발자의 입장에서는 '객체'입니다.
    • 프로그래머라는 주체(Subject)가 프로그램(객체, Obejct)을 만들기 때문입니다.
  • 객체의 구성요소인 속성과 행위는 프로그래밍에선 다른 용어로 사용됩니다.
    • 속성은 ➟ 변수(Variable)
    • 행위는 ➟ 메서드(Method)

 

 


 

 

 

객체란 단어의 사전적 정의와 개념에 대해 살펴보았습니다.

 

 

다음 포스팅에서는

이번에 배운 '객체'란 개념을 활용하여

절차적, 객체지향 프로그래밍에 대해 다뤄보도록 하겠습니다.

댓글