Object   객체, 오브젝트

(2022-08-13)

1. 객체 (Object)

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"