본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Object
객체지향에서 데이터(상태)와 그 데이터를 다루는 연산(행위)을 하나로 묶어, 다른 것과 구별되는 실체로 만든 것

객체는 현실 세계의 사물이나 개념(학생, 계좌, 주문)을 프로그램 안에 옮긴 것이다. 객체지향 기법은 프로그램을 이런 객체들이 메시지를 주고받는 모임으로 본다.

특성 뜻
상태(State) 객체마다 자기 속성값(애트리뷰트)을 가진다. 같은 클래스의 객체라도 값은 각자 다르다
행위(Behavior) 메시지를 받으면 메서드(연산)를 실행한다. 객체의 특징은 무엇을 할 수 있는지로 나타난다
식별성(Identity) 상태가 같아도 서로 다른 객체로 구별된다. 각 객체는 고유한 식별자(참조)를 가진다
기억 장소 객체는 생성될 때 메모리의 일정한 기억 장소를 할당받아 그 안에 자기 상태를 보관한다. 기억 장소가 없는 객체는 없다
  • 객체는 캡슐화되어 있어 내부 데이터를 숨기고 정해진 연산으로만 접근하게 한다 → 정보 은닉, 접근 제어자
  • 객체는 클래스라는 틀로부터 만들어진다. 클래스에서 만든 구체적인 객체 하나하나를 인스턴스라 한다

클래스·인스턴스와의 관계

편집 원본 편집
구분 뜻 예
클래스 같은 속성과 연산을 가진 객체들의 공통 틀 Student
객체(인스턴스) 클래스로 만들어져 메모리에 자리 잡은 실체 new Student("홍길동")
메시지 객체에 연산을 요청하는 것 s.enroll("자료구조")

다른 분야의 객체

편집 원본 편집
  • 접근통제에서 객체는 주체(사용자·프로세스)가 접근하려는 대상(파일·자원)을 말한다
  • 데이터베이스 설계에서 현실의 대상을 나타내는 것은 개체(Entity)라 한다