속성과 속성의 차이점은 무엇입니까? [닫은]


162

이것도 같은 의미 인 것 같습니다. 그러나 어떤 맥락에서 어떤 용어가 더 적절합니까?


4
상황에 대해 더 구체적으로 설명 할 수 있습니까? 예를 들어 용어는 C # 컨텍스트에서 완전히 다른 것을 의미합니다.
David Arno

1
@David Arno-다른 언어 구문은 하나 또는 두 단어 모두에 적합하지만 특정 언어의 구문과는 독립적입니다. 의미에 차이가 있습니까? 나쁜 질문이 아닙니다.
Corey Trager

4
나는 그것이 나쁜 질문이라고 생각합니다. 동의어 사전을 확인하면 실제 용어로 동의어가 표시되지만 컴퓨터와 메타 언어마다 다른 역할을 할당하여 특정 컴퓨터 언어와 동의어가 아닐 수 있습니다. 문맥은 모든 것입니다.
David Arno

9
나는 더 ..... 동정심. "방법"이라는 용어를 처음 들었을 때가 기억납니다. 도대체 "방법"은 무엇입니까? 아, 클래스에 속할 때 함수라고 부릅니다. 왜 오래된 것에 대한 새로운 용어? Thoreau는 "새로운 옷을 요구하는 모든 기업을 조심하십시오"라고 말했다. (또는 말 ...)
Corey Trager

1
이 질문은 컨텍스트를 제공하지 않고 너무 광범위합니다 (작성된 모든 컨텍스트의 목록으로 만 답변 될 수 있음).
Quentin

답변:


199

일반적인 용어 (및 일반적인 영어 사용)에서이 용어는 같은 의미입니다.

HTML / 자바 스크립트의 특정 컨텍스트에서 DOM 요소의 HTML 표현에는 속성 (태그에 포함 된 키 / 값 쌍에 대해 XML에서 사용되는 용어)이 있지만 JavaScript 객체로 표시 될 때 해당 속성 때문에 용어가 혼동 됩니다. 객체 속성으로 나타납니다 .

더 혼동을주기 위해 속성을 변경하면 일반적으로 속성이 업데이트됩니다.

예를 들어, 변화하는 element.href 특성은 업데이트 할 href 속성 요소에, 그리고 그가에 대한 호출에 반영됩니다 element.getAttribute('href').

그러나 이후에 읽어 해당 속성을, 비록 절대 URL에 정규화 된 것이다 속성이 상대 URL 수 있습니다!


14
이것이 정답입니다!
Rubens Mariuzzo

3
@RubensMariuzzo, 그러나 그것이 정확할 수도 있지만, 여기에 답이 없습니다. 단지 상황에 따라 사람들에게 혼란을 줄 수있는 점에 대해 자세히 설명합니다.
Brett Caswell 23

@BrettCaswell, DOM 컨텍스트 (HTML / JS) 에서이 답변은 차이점을 명확하고 간단하게 설명합니다.
Rubens Mariuzzo

1
@Alnitak 명확한 컷 답변. 나는 당신을 위해 세기 중 하나를 만들었습니다.
mkHun

나는에서 왔습니다 python. 나는 용어를 사용할 수 class attributeinstance property?
Sarit

71

이 단어는 컴퓨터 과학이 등장하기 전에 존재했습니다.

  1. 속성은 우리 가 누군가 또는 무언가에 귀속 하는 품질 또는 대상입니다 . 예를 들어, 홀은 권력과 국가의 속성입니다.

  2. 속성은 저작자 표시없이 존재 하는 품질입니다 . 예를 들어, 점토에는 접착 성이 있습니다. 또는, 금속의 특성 중 하나는 전기 전도성이다. 속성은 물리적 인 현상을 필요로하지 않고 스스로 또는 누군가에게 속성을 부여합니다. 마찬가지로, 누군가가 남성 특성을 가지고 있다고 말하는 것은 자명합니다. 실제로, 누군가 또는 다른 사람이 소유 한 자산이라고 말할 수 있습니다.

공정하게 말하면 컴퓨터 과학에서이 두 단어는 적어도 대부분 상호 교환 적으로 사용될 수 있습니다. 그러나 프로그래머는 보통 영어로 학위를받지 않으며 문법 서적에 대해 글을 쓰거나 신경 쓰지 않습니다. :)


1
내가 이해하는대로 당신은 그 의미에 더 가깝습니다. 속성은 유형 설명자이며, 문맥을 벗어난 무언가 (예를 들어, 대화자)에 대한 개체를 설명합니다. 즉, 컨텍스트가 있지만 해당 컨텍스트는 매우 호환 될 수 있습니다. 예를 들어 HTML을 사용하기 위해 문서를 페이지에 표시 / 렌더링하려는 의도없이 문서를 구문 분석하는 경우 너비의 전체 ​​목적이 작동하지 않습니다.
Brett Caswell 23

감사합니다! 이름을 지정할 때 어떤 용어를 사용할 지에 대한 지침을 찾기 위해 여기에 왔습니다. 이것이 기술적으로 옳거나 그렇지 않다면 신경 쓰지 않아도됩니다 (실제로 유용한 구별입니다).
user1433150

1
이것은 내가 찾던 대답의 유형입니다. 문맥이나 특정 언어 구현자가 결정한 이유는 무엇입니까? 그들은 임의적이거나 교육받지 않은 결정을 내렸을 수 있습니다. 나는 교육받은 것을 만들고 싶고 이것은 나에게 다른 것을 골라야 할 구체적인 이유를 준다. 또한 특정 구현자가 선택한 이유를 명확하게 설명 할 수도 있습니다.
bielawski

2
나를 위해 일하는 것은 속성을 객관적인 것으로 간주하고 속성을 상대 / 주제로 간주하는 것입니다. 색상, 모양, 점수, 풍속, 온도 (98'F) 및 기타 객관적 또는 측정 가능한 사실과 같은 기능은 좋은 속성을 만듭니다. 텍스처 ( "부드러운"), 조건 ( "바람"), 온도 ( "핫") 및 명백하게 사실이 아닌 다른 표현과 같은 기능은 더 나은 속성을 만듭니다.
Ivan

20

종종 속성 은 메커니즘이나 실제 사물을 설명하는 데 사용됩니다.

특성 모델을 설명하는 데 사용됩니다.

예를 들어, 책상에 앉아있는 문서에는 초안이라는 속성이있을 수 있습니다.

문서를 모델링하는 클래스에는 초안인지 여부를 나타내는 속성이 있습니다. 이 경우 속성은 상태를 캡처합니다.


1
그것은 인스턴스의 속성이 속성이라는 것을 의미합니까?
Abdurrahim

흥미롭지 만 나는 믿지 않습니다. 문서가 주어지면 속성의 인스턴스는 종이 일 수 있습니다. 모델의 대표 속성의 인스턴스는 상기 논문의 내용에 충분한 버퍼 일 수있다.
Walt Stoneburner

17

속성은 HTML 태그 내에서 실제로 사용하는 것입니다.

<input type="checkbox" checked="checked" />

이 인스턴스에서 type 및 checked는 속성입니다. 그러나 속성은 브라우저가 DOM 요소 안에 저장하는 이러한 속성의 값입니다. 속성과 속성의 값이 같은 경우가 많으므로 혼동 될 수 있습니다.

이 예제에서 DOM 요소 input에는 type값 이있는 특성 과 값이 "checkbox"있는 특성 checked이 있습니다.true (이 값이 HTML 속성 내부의 값과 어떻게 다른지 주목하십시오).

Firebug를 사용하면 요소를 클릭하고 "DOM보기"를 선택할 때 속성의 동작을 관찰 할 수 있습니다.


이것은 대답이 될 수 있습니다. 이론적으로 명확하고 맥락에서 유용합니다.
Jaune

15

이 용어들의 정확한 의미는 당신이 말하는 언어 / 시스템 / 우주에 따라 크게 좌우 될 것입니다.

HTML / XML에서 속성은 등호와 값이있는 태그의 일부이며 속성은 아무 의미도 없습니다.

따라서 논의중인 도메인에 대한 자세한 정보가 필요합니다.


7
이것은 정확하지 않습니다. Alnitak의 답변을 참조하십시오.
kba

6

파이썬에서 ...

class X( object ):
    def __init__( self ):
        self.attribute
    def getAttr( self ):
        return self.attribute
    def setAttr( self, value ):
        self.attribute= value
    property_name= property( getAttr, setAttr )

속성은 setter, getter (및 deleter) 함수 컬렉션을 래핑하는 단일 속성과 유사한 이름입니다.

속성은 일반적으로 다른 객체 내의 단일 객체입니다.

그러나 파이썬은 __getattr__"속성"의 정의를 확장 할 수있는 방법을 제공합니다 .

결론-그들은 거의 동의어입니다. 파이썬은 어떻게 구현되는지 기술적으로 구별합니다.


2

Java (또는 다른 언어)에서 속성 / 속성 사용은 사용법에 따라 다릅니다.

  • 값이 자주 변경되지 않을 때 사용되는 속성 (일반적으로 시작시 또는 환경 변수에 사용됨)

  • 속성은 요소 (객체)의 값 (객체 자식)으로 매우 자주 / 항상 변경 될 수 있고 지속적이거나 지속되지 않을 수 있습니다


2

HTML에서는 속성이 DOM 트리에 고유 한 것으로 보이지만 속성은 DOM 요소의 특성을 설명하는 데 사용됩니다


2

속성과 속성의 차이점은 무엇입니까?
기능과 기능의 차이점은 무엇입니까? 특징과 성격의 차이점은 무엇입니까? 행동과 행동의 차이점은 무엇입니까?

상황의 변화 일뿐입니다.

개체, 제품, 성격, 사람

사람은 행동합니다. 성격은 주어진 캐릭터의 특성을 가지고 있습니다. 제품에는 기능을 파생시키는 기능이 있습니다. 객체에는 속성을 부여하는 속성이 있습니다.


실제로 좋은 대답입니다.
익명

1
<property attribute="attributeValue">proopertyValue</property>

그것을 보는 한 가지 방법이 될 것입니다.

C #에서

[Attribute]
public class Entity
{
    private int Property{get; set;};

8
이것을 유감스럽게 생각하지만 XML에서 속성에 레이블을 붙인 것은 실제로 "요소"입니다
Harald Scheirich

@HaraldScheirich 느린 응답;) 그러나 요소는 Entity.Property와의 연결을 명확하게하기 위해 "속성"이라고합니다. xml 요소가 실제로 "요소"라고하는 것은 일반적이지 않습니다.
dove

1

델파이는 속성을 사용했으며 .NET으로 왔습니다 (같은 건축가이기 때문에).

Delphi에서는 통합 속성 편집기를 사용하여 디자인 타임에 속성을 설정할 수 있도록 런타임 유형 정보와 함께 자주 사용됩니다.

속성이 항상 필드와 관련이있는 것은 아닙니다. 부작용이있을 수있는 기능 일 수 있습니다 (물론 디자인이 매우 나쁩니다).


반드시 그런 것은 아닙니다. 영구 객체에 대한 자동화 된 더티 검사는 나쁜 디자인이 아닌 부작용이있는 속성의 예입니다.
Quibblesome
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.