ID(객체 지향 프로그래밍)
Identity (object-oriented programming)객체지향 프로그래밍, 객체지향 설계, 객체지향 분석의 아이덴티티는 다른 객체들과 구별되는 객체의 특성을 설명한다.이것은 정체성의 철학적 개념과 밀접한 관련이 있다.
ID 및 참조
참고문헌은 특정한 정체성을 가진 물체를 가리키는 데 사용될 수 있다.참고문헌에는 프로그래밍 언어로 ID 속성이 실현되는 데 필요한 정보가 수록되어 있으며, ID로 객체에 접근할 수 있다.참조 대상의 유형은 역할이다.일반적으로 참조는 메모리 주소에 대해 이형적이다.그러나 주소 매핑의 어떤 형태(가상 주소/페이지 테이블/메모리 세그먼트)가 존재하는 경우 그러한 참조가 여러 개 있을 경우 동일한 객체를 참조할 수 있다.
개체 정체성은 물체의 구조가 캡슐화되지 않은 환경이나 상황에서의 의미 개념으로서 덜 유용하며, 두 개체는 실제로 동일한 물리적 인스턴스(구조적 동등성)가 아니더라도 동일한 성질을 가지고 있는 것에 근거하여 동일한 개체로 간주된다.그러나 그럼에도 불구하고 객체 ID는 최적화를 제공할 수 있다.두 인수가 동일한 개체인지 여부를 테스트하는 함수는 두 인수가 동일한 ID(동일한 인스턴스에 대한 참조)를 가진 경우, 찬성 답변에 빠르게 단락될 수 있다.인수가 구별되는 개체일 경우에만 개별 특성을 고려해 평등을 결정할 필요가 있는데, 이는 보다 비용이 많이 드는 연산이다.예를 들어, 2개의 2개의 2개의 1개의 2개의 1개의 1개의 2개의 1개의 2개의 1개의 2개의 1개의 1개의 2개의 1개의 2개의 1개의 2개의 1개의 2개의 1개의 2개의 1개의 2개의 1개의 2개의 1개의 2개의 2개의 1비교되고 있는 두 가지 주장이 같은 비음에 대한 언급이라는 발견을 이용하지 않는 것은 평등함수의 기계 사이클의 낭비일 수 있다.
정체성의 결과
물체의 정체성은 물체를 블랙박스로 취급할 수 있게 한다.그 물체는 내부 구조를 노출시킬 필요가 없다.그것은 여전히 언급될 수 있고, 그것의 다른 속성은 정체성과 관련된 그것의 외부 행동을 통해 접근할 수 있다.아이덴티티는 인터페이스에서 노출되지 않은 물체의 그러한 부분을 참조하기 위한 메커니즘을 제공한다.그러므로 개체 지향 프로그래밍에서 정체성은 다형성의 기초가 된다.
신분은 참고문헌의 비교를 가능하게 한다.두 개의 참고문헌은 동일 여부를 비교할 수 있다.신분적 특성 때문에 이 비교는 특별한 속성을 가지고 있다.참조의 비교가 참조가 동일하다는 것을 나타내는 경우, 참조가 가리키는 두 개 객체가 동일한 객체임이 분명하다.만약 참조가 동등하게 비교되지 않는다면, 그 참조 뒤에 있는 객체의 정체성이 다르다는 것을 반드시 보장하지는 않는다.어느 한 객체에 대한 모든 변경도 다른 객체에 대한 변경일 경우, 동일한 유형의 두 객체의 객체 ID는 동일하다.
ID 및 객체 지향 개념 모델
정체성은 개체 지향적 사고의 기초로 자주 이용되는 플라토닉 이상 세계, 온톨로지 또는 개념 모델의 구축을 가능하게 한다.개념 모델은 도메인, 용어 또는 API에 대한 클라이언트측 뷰를 설명한다.이 세계에는 점처럼 생긴 물체들이 인스턴스(instance), 물체의 속성, 그리고 그 물체들 사이의 링크들이 포함되어 있다.세계의 사물들은 계층을 형성하도록 그룹화할 수 있다.개체의 속성을 그룹화하여 역할을 구성할 수 있다.링크를 그룹화하여 연결을 형성할 수 있다.세계의 모든 장소와 위치 사이의 연결고리가 함께 세계의 구조를 형성한다.이 그룹들은 세계의 해당 사례의 유형이다.
