Object   객체, 오브젝트

(2022-08-13)

1. 객체 (Object)

  ㅇ [일반]
     - 주체 (主體)에 대응되는 객체 (客體)
        . 처리의 대상이 되는 목적물
     - 특징짓고 좁히면서, 실체화시킨 것
        . 실존하는 것일 수도, 난해한 개념적인 것일 수도 있음
        . 하나의 개념화, 추상화로 문제영역에서 뚜렷한 영역과 의미를 가지는 것

  ㅇ [공학]  
     - 스스로 제구실을 하는 부품과 같은 어떤 존재
        . 속성을 가지고 특정한 작업을 수행할 수 있도록 설계된 것

  ㅇ [객체지향]  
     - `속성`과 이들 속성을 다루는데 필요한 `행위`를 함께 캡슐화한 객체를 중심으로,
     - 이들 간의 관계성, 상속성, 메세지 주고받기 등이 가능


2. [프로그래밍]  객체란?
   
  ㅇ 객체의 `의미`  :  `속성(자료)` 및 `그 자료에 대한 연산(방법)`을 함께 묶어둔 것

  ㅇ 객체의 `특징`
     - 이름을 붙여 특징지울 수 있음 (thing, 즉, 세상의 모든 것)
        . 자기자신을 포함하여 서로 연관된 변수함수데이터 묶음
     - 어떤 정보를 표현하기 위해 기억장소가 할당됨
        . 객체는 메모리 상에 있게되고, 프로그래밍 조작의 대상이 되는 것임

  ㅇ 객체의 `모형화(분류)`  :  클래스
     - 객체를 그룹화시킬 수 있는 것
        . 객체들의 속성을 기술하는 구조의 명칭으로써, 주로 객체에 대한 정의를 의미
        . 즉, 같은 유형의 객체들은 공통 클래스를 사용하여 정의됨

  ㅇ 객체의 `구성` : 프로퍼티 + 메소드

     - 객체  =  프로퍼티  (변수,속성,성질,상태)  +   메소드 (처리방법,행동)
             =  데이터 멤버                      +   멤버 함수

        . Property/Attribute (속성)
           .. 데이타 그 자체 및 특징지우는 속성,성질들의 집합

        . Method (방법)
           .. Property 에 들어있는 데이타로 어떤 작업을 수행하는 것
           .. 다른 프로그래밍 언어에서의 함수와 유사
           .. 프로퍼티 값이 함수프로퍼티가 바로 메소드임

     ※ 결국, PropertyMethod에 의해 정의되는 객체를 사용하여
        - 실체를 표현하게됨

  ㅇ 객체의 `구현`  :  인스턴스
     - 그러한 구조를 갖는 객체가 구체적으로 실체화 된 것
        . 즉, 객체는 원본이고, 인스턴스는 구현된 복사본 이라고 할 수 있음
           .. (객체의 복제본을 만드는 것)

  ㅇ 객체 간의 `통신` :  메세지
     - `조작명` 및 그 `인수`가 지정됨


3. [프로그래밍]  객체지향 프로그래밍 (OOP)프로그램 상에 취급하는 모든 대상을 객체로 생각하고,
     - 그렇게 추상화된 객체를 중심으로 코드를 작성하며,
     - 이들 객체들을 조립해가며 프로그램을 짜는 방법

  ㅇ 프로그램 내에서, 객체는, 
     - 문자열,숫자,배열 처럼 값으로 취급되기도 하며,
     - 변수에 담거나, 인수로 전달되거나, 반환값으로 나오기도 하며,
     - 객체 고유의 기능(동작,연산)도 가능 함

참조 자료형
   1. 객체   2. 객체 타입   3. 자료 추상화  
객체,클래스,인스턴스
   1. 클래스   2. 클래스 멤버   3. 프로퍼티   4. 메소드   5. 객체   6. 인스턴스  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"