1. 개요
속성은 어떤 대상이 지니고 있는 특징이나 성질을 의미하며, 특정 개별자에게 부여되는 성질을 기술할 때 사용되는 개념이다.[1] 철학적 관점에서 속성은 사물에 대해 서술될 수 있거나 사물에 귀속될 수 있는 실체로 정의된다.[2] 이를 통해 서로 다른 개별적인 대상들이 질적으로 동일한 상태에 있음을 설명할 수 있다. 예를 들어, 무게가 1kg인 돌, 설탕 한 봉지, 기니피그는 각각 서로 다른 개별자이지만 '1kg의 무게'라는 공통된 속성을 공유한다.[3]
대상이 지닌 속성은 다양한 용어로 불리며, 상황에 따라 속성(properties), 속성치(attributes), 성질(qualities), 특징(features), 특성(characteristics) 또는 유형(types)으로 구분되어 사용된다.[4] 개별적인 대상은 이러한 속성을 예시하거나 구체적으로 구현한다. 백합이나 구름, 황산구리 시료가 모두 흰색인 경우처럼, 서로 다른 대상이 동일한 색채의 속성을 가질 수 있다. 이처럼 개별적이고 특수한 것들이 동시에 서로 다를 수 있으면서도 특정 측면에서 같을 수 있다는 사실은 철학적 논의의 주요한 원천이 된다.[5]
속성의 개념은 학문 분야에 따라 그 적용 범위와 성격이 크게 달라진다. 법률 및 정치 철학 분야에서의 속성은 특정 개인이나 집단이 자원을 관리할 수 있는 법적, 윤리적 권리인 재산권(property)을 의미하기도 한다.[6] 그러나 이러한 일반적인 정의를 넘어선 철학적 논쟁은 매우 치열하게 전개된다. 정치 및 법철학자들 사이에서는 어떤 유형의 권리가 속성의 핵심적인 요소인지, 그리고 그 결과로 나타나는 권리의 형태와 성격이 무엇인지에 대해 의견이 일치하지 않는다.[7]
속성에 관한 논의는 대상의 존재 방식과 그 특징을 어떻게 규정할 것인가라는 근본적인 문제와 직결된다. 개별자가 속성을 구현하는 방식이나, 속성이 실재하는 엔티티(entity)인지에 대한 문제는 형이상학적 논쟁을 불러일으킨다.[8] 또한 재산권과 같은 사회적 권리로서의 속성은 제도적 설계와 윤리적 정당성 문제와 결합되어 복잡한 양상을 띤다.[9] 이러한 속성의 다층적 성격은 대상의 본질을 이해하고 분류하는 모든 학문적 기초가 된다.
2. 철학적 관점에서의 속성
철학적 논의에서 속성은 사물에 대하여 술어로 기술될 수 있거나 대상에게 부여되는 엔티티를 의미한다. 이러한 성격으로 인해 속성은 술어적 대상라고도 불리며, attributes, 질성, 특징, 특성, 유형 등 다양한 용어로 표현된다.[8] 이는 사물이 지니고 있는 방식이자, 개별적인 대상이 구체적으로 예시하거나 실현하는 엔티티로 정의된다.
존재론적 측면에서 속성은 대상이 어떠한 상태에 있는지를 나타내는 방식을 결정한다. 예를 들어 어떤 잎사귀가 초록색이라고 기술할 때, 이는 해당 대상에 초록색이라는 성질을 귀속시키는 과정이다.[8] 이처럼 속성은 개별적인 사물이 갖는 구체적인 양태를 설명하는 핵심적인 개념으로 기능한다.
한편, 정치철학 및 법철학의 영역에서 'property'라는 용어는 특정 개인이나 집단이 자원을 관리할 수 있는 법적·윤리적 권한을 의미하기도 한다.[3] 그러나 일반적인 정의를 넘어선 철학적 논쟁의 영역에서는 속성의 본질에 대해 다양한 견해가 존재한다. 특히 어떤 유형의 권리가 속성의 필수적인 요소인지, 그리고 그 결과로 나타나는 권리의 형태와 성격이 무엇인지에 대해서는 철학자들 사이에서도 의견이 일치하지 않는다.[3]
3. 객체지향 프로그래밍에서의 속성
객체지향 프로그래밍은 일상생활에서 접하는 다양한 물체들을 컴퓨터 프로그램으로 모델링하여 사용하는 방식이다. TV, 휴대폰, 자동차와 같은 구체적인 대상들은 프로그래밍 세계에서 하나의 객체로 구현된다.[1] 이러한 객체는 크게 상태를 나타내는 데이터 요소와 행위를 수행하는 기능적 요소로 구분된다. 속성은 해당 객체가 어떠한 상태에 있는지를 기술하며, 객체를 구성하는 구체적인 부속품이나 특징을 의미한다.
객체의 속성은 클래스 내부에 정의되며, 각 객체는 자신이 속한 클래스의 속성으로부터 고유하고 특정한 데이터를 보유한다.[2] 예를 들어 자동차라는 객체를 모델링할 때 색상, 바퀴, 차체, 유리, 핸들, 전조등, 음향 기기, 계기판 등은 해당 객체의 속성이 된다. 반면 전조등이나 라디오를 켜고 끄는 동작, 와이퍼 작동, 혹은 속력을 조절하는 기능은 메소드에 해당하며, 이는 속성과 구분되는 행위의 영역이다.
클래스는 이러한 속성과 메소드를 포함하는 설계도 또는 청사진 역할을 수행한다. 프로그래밍 언어인 Java와 같은 객체지향 언어에서는 각 객체가 클래스의 인스턴스로서 존재하며, 클래스에 정의된 속성을 통해 개별적인 데이터를 저장하고 관리한다. 결과적으로 속성은 객체의 정적인 특징을 규정하며, 이를 통해 서로 다른 객체들이 동일한 유형의 데이터 구조를 가짐을 보장한다.
4. 물리적 및 감각적 속성
물리적 속성은 대상이 지닌 구체적인 수치나 측정 가능한 상태를 의미한다. 서로 다른 개별자들이 동일한 물리적 값을 공유할 수 있다는 사실은 철학적 논의의 주요한 주제가 된다.[4] 예를 들어, 돌, 설탕 한 봉지, 그리고 기니피그는 각각 서로 다른 대상이지만 모두 1kg의 질량을 가질 수 있다.[5] 이러한 사례는 개별적인 특수자들이 질적으로 동일한 상태에 놓일 수 있음을 보여준다.
감각적 속성은 인간의 감각 기관을 통해 인지되는 시각적 또는 청각적 특성을 포함한다. 색상과 같은 시각적 요소는 대상의 외관을 결정하는 중요한 성질이다.[6] 백합, 구름, 그리고 황산구리 시료는 모두 흰색이라는 공통된 시각적 속성을 공유한다. 이처럼 서로 다른 개별자들이 동일한 감각적 특성을 가짐으로써 질적으로 같은 상태로 기술될 수 있다.
미적 가치와 같은 주관적 성질은 대상이 지닌 심미적 특징을 나타낸다. 이는 물리적 측정이나 단순한 감각 인지를 넘어 대상의 가치를 규정하는 속성이다. 조각상, 무용, 그리고 수학 방정식은 아름다움이라는 미적 속성을 공유할 수 있다.[4] 현대 철학에서는 서로 다른 특수자들이 질적으로 동일하게 느껴지는 이유를 이들이 공통된 속성을 보유하고 있기 때문이라고 설명한다.[5]
5. 법적 및 윤리적 권리로서의 속성
재산권과 관련된 개념으로서의 속성은 특정 개인이나 집단이 특정한 자원을 관리하기 위해 가지는 법적 및 윤리적 권한을 기술한다.[3] 이러한 정의에 따르면, 속성은 단순히 대상의 특징을 나타내는 것을 넘어 자원에 대한 사용 및 통제권을 의미한다. 이는 사회적 관계 속에서 자원을 배분하고 관리하는 기준이 된다.
정치철학과 법철학 분야에서는 무엇이 속성의 본질적인 요소인지에 대해 다양한 논쟁이 존재한다.[3] 철학자들은 어떠한 유형의 권한이 속성을 구성하는 필수적 요소인지, 그리고 그 결과로 나타나는 권리 체계가 어떤 형태와 성격을 가져야 하는지에 대해 서로 다른 견해를 보인다. 이러한 불일치는 속성의 개념이 단순한 물리적 상태를 넘어 사회적 합의와 규범에 의해 결정됨을 시사한다.
속성에 대한 논의는 권리의 범위와 성격에 관한 철학적 논쟁으로 이어진다.[3] 특정 대상에 대해 부여되는 권리가 어떤 방식으로 형성되는지, 그리고 그 권리가 가지는 실질적인 효력이 무엇인지에 대해서는 학술적 합의가 이루어지지 않은 영역이 많다. 따라서 속성은 법률적 규제와 윤리적 정당성이 교차하는 지점에서 복합적으로 정의된다.
6. 속성의 분류와 예시
객체지향 프로그래밍의 관점에서 객체를 모델링할 때는 대상이 지닌 구체적인 특징을 기술하기 위해 속성을 정의한다. 일상생활에서 접하는 TV, 휴대폰, 모니터, 사과, 고양이, 자동차와 같은 다양한 물체들은 컴퓨터 프로그램 내에서 하나의 객체로 구현될 수 있다.[1] 이러한 객체는 크게 상태(state)를 나타내는 데이터 요소와 행위를 수행하는 기능적 요소인 메소드로 구분된다. 예를 들어 자동차라는 객체를 모델링할 경우, 차의 색상, 바퀴, 차체, 유리, 핸들, 전조등, 음향 기기, 계기판 등은 해당 객체의 속성 또는 데이터에 해당한다.[1]
사물의 구체적인 특징을 기술하는 방식은 대상이 가진 물리적 상태를 정의하는 과정이다. 클래스가 자동차의 설계도나 청사진 역할을 한다면, 개별적인 인스턴스는 그 설계도를 바탕으로 생성된 구체적인 객체를 의미한다.[2] 각 인스턴스는 자신만의 고유한 데이터를 클래스의 속성(attributes) 내에 보유하게 된다. 이러한 구조를 통해 프로그래머는 복잡한 현실 세계의 대상들을 데이터의 집합체로 변환하여 관리할 수 있다.
추상적 대상이나 질적인 특징을 부여하는 과정은 철학적 논의와 연결된다. 예를 들어 돌, 설탕 한 봉지, 그리고 기니피그는 모두 1kg이라는 동일한 질량을 가질 수 있으며, 백합이나 구름, 황산구리 시료가 모두 흰색이라는 공통된 색채 속성을 공유하는 것과 같다.[4] 또한 조각상, 무용, 또는 수학 방정식이 아름답다는 사실처럼 미적 가치와 같은 추상적인 성질도 속성의 범주에 포함될 수 있다.