1. 속성 (屬性, Property, Attribute) 이란?
ㅇ 사물/개체의 특징이나 성질, 고유성
- 주로, 식별,구별하는데 도움을 주는 두드러진 특징
- 例) "모든 까마귀는 '검은색'이며 '날개'를 갖는다"
. 까마귀를 특징짓는 것 = { 색 속성 : '검은색', 구성기관 속성 : '날개' };
※ [참고]
- 물질을 규정하는 성질/속성들 ☞ 물질의 성질 (물리적 성질,화학적 성질) 참조
- 열역학적 상태/특성/성질을 나타내는 량(量) ☞ 상태량 참조
2. [전산 / 객체지향] 속성 이란?
ㅇ 명칭
- 프로퍼티 (Property),속성 (Attribute),멤버 변수 (Member Variable), 필드 등으로 불리움
ㅇ 의미
- 객체가 지닌 속성/성질/특성/상태/변수 등을 나타냄
- 즉, 객체들이 고유하게 유지하는 데이터
ㅇ 표현
- `이름 (name) : 값 (value)` 쌍 (pair)의 형식을 갖음
ㅇ 한편,
- 메소드도 프로퍼티의 일종으로도 볼 수 있음
. 만일, 프로퍼티 값(value)이 처리할 대상을 담은 함수이면,
이는 결국 메소드가 됨
ㅇ 결국,
- `이름 : 값` 쌍들이 모여 프로퍼티를 이루며,
- 프로퍼티들이 모여 객체를 이루게 됨
3. [전산 / 객체지향] `프로퍼티 (Property)`, `어트리뷰트 (Attribute)` 비교
※ 일반적으로, 두 용어를 동의어로 사용하지만,
- 프로퍼티 (Property)는, `이름 : 값` 쌍의 실체로써, 동적으로 조작 가능함을 주로 의미하며,
- 어트리뷰트 (Attribute)는, 프로퍼티들을 그룹지을 수 있는/연관시키는 정적인 속성을 의미
ㅇ 웹문서의 DOM 모델 상에서 볼 때, 이 둘을 다르게 구분하며,
- 어트리뷰트는, HTML 요소에 소속된/고정된 일부로써 봄
. HTML 요소 내에 붙박이로써 존재하고, 처음에 주어진 값이 변하지 않음
- 프로퍼티는, DOM 트리 내 객체의 속성을 나타내며, `이름 : 값` 쌍으로 표현됨
. DOM 트리 내에 필요시 넣고 뺄 수 있고, 동적으로 변할 수 있음