맨위로가기

속성 (컴퓨터 과학)

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

속성 (컴퓨터 과학)은 C#과 같은 프로그래밍 언어에서 코드 블록에 연결된 메타데이터를 의미하며, XML과 같은 마크업 언어에서는 요소의 특징을 설명하는 이름/값 쌍을 의미한다. C#에서는 어셈블리, 멤버, 형식 등에 대한 정보를 제공하며, 컴파일러와 리플렉션을 통해 접근할 수 있다. 또한 다중값 데이터베이스 시스템에서 테이블의 열을, XML에서는 시작 태그 내의 이름/값 쌍을 속성으로 간주한다. 각 속성은 연산과 자료형을 가지며, 객체의 표현 형식, 기본값, 유효한 연산 및 제한을 포함하여 정의될 수 있다.

더 읽어볼만한 페이지

  • 컴퓨터 데이터 - 헤더 (컴퓨팅)
    헤더는 전자 통신, 네트워킹, 파일 형식, 프로그래밍 등 다양한 분야에서 데이터의 전송 및 처리에 필요한 정보를 제공하는 정보의 집합이다.
  • 컴퓨터 데이터 - 데이터 손실
    데이터 손실은 절차적 요인, 인적 행위, 시스템 실패, 자연 재해, 범죄 등 다양한 원인으로 발생하며, 금전적 손실과 평판 손상 등 심각한 결과를 초래하므로 강력한 암호, 이중 인증, 정기적인 백업 등의 예방 조치가 중요하다.
속성 (컴퓨터 과학)
컴퓨터 과학에서의 속성
정의컴퓨터 프로그래밍에서 클래스, 객체 또는 파일의 특성이나 특징
설명객체의 상태를 정의하는 데이터 요소
객체가 가질 수 있는 값의 범위를 정의하는 멤버
프로그래밍에서의 활용
클래스클래스 내에 정의된 변수 또는 데이터 멤버 (일반적으로 클래스의 속성을 나타냄)
객체객체 내에서 속성의 값은 객체의 상태를 나타냄
함수 또는 메서드일부 프로그래밍 언어에서는 함수 또는 메서드 자체도 속성을 가질 수 있음 (예: 이름, 반환 형식, 매개변수 등)
파일 시스템에서의 속성
정의파일 또는 디렉터리와 관련된 메타데이터
종류이름
크기
생성 날짜
수정 날짜
권한
접근 제어 목록 (ACL)
기타 시스템별 속성
데이터베이스에서의 속성
정의데이터베이스 테이블의 열 (column)
설명각 열은 특정 데이터 유형의 값을 저장하며, 해당 테이블의 모든 레코드에 대해 동일한 속성을 나타냄
예시고객 테이블의 속성 예시: 고객 ID, 이름, 주소, 전화번호 등
HTML에서의 속성
정의HTML 요소에 추가 정보를 제공하는 특별한 단어 (요소의 시작 태그 내에 위치)
예시`이미지 설명`에서 `src`, `alt`, `width`는 모두 속성
기능요소의 동작, 모양 또는 특성을 수정하거나 설정하는 데 사용

2. 속성의 활용

C# 프로그래밍 언어에서 속성(attribute)은 코드 블록이나 필드에 연결된 메타데이터로, 자바의 어노테이션과 유사하다.[1] 속성은 컴파일러와 리플렉션을 통해 접근할 수 있으며, 클래스 멤버로 구문상 인스턴스 변수처럼 사용되지만 getter/setter 함수 쌍으로 구현된다. 속성은 횡단적인 문제나 구조, 플랫폼의 용도에 대응하기 위해 사용되기도 한다.[2]

속성의 구체적인 사용, 프로퍼티로 노출할지 여부, 더 큰 애플리케이션 프레임워크의 일부로 사용할지는 개발자가 결정한다. 속성은 `System.Attribute`에서 파생된 클래스로 구현되며, CLR 서비스에 의해 사용되거나 런타임에 쿼리될 수 있다.

탈 관계형 또는 멀티 밸류 데이터베이스 시스템에서 테이블은 파일, 행은 아이템, 열은 속성으로 간주된다. 이러한 데이터베이스의 원조는 Pick 운영체제였으며, 현재 플랫폼에는 로켓 U2의 유니버스와 인터시스템즈의 캐시 등이 있다.

XML에서 속성은 시작 태그 또는 빈 요소 태그 내에 존재하는 이름-값 쌍으로 구성된 마크업이다. HTML 및 XML과 같은 마크업 언어에서 데이터 및 데이터 형식 설명에 속성이 사용된다.

2. 1. C#

C# 프로그래밍 언어에서 속성(attribute)은 어셈블리, 멤버, 형식과 같은 코드 블록에 첨부되는 메타데이터이며, 자바의 어노테이션과 같다.[1] 속성은 컴파일러와 리플렉션을 통해 프로그래밍 방식으로 접근할 수 있다.[1]

C#에서 속성은 횡단적인 문제나 구조 또는 플랫폼의 기타 용도에 대응하기 위해 사용되는 경우가 많다.[2] 이 때문에 속성이 이러한 용도로만 사용된다는 오해가 생기기도 한다. `abstract`, `sealed`, `public`과 같은 키워드를 속성으로 확장할 수 있다.[2]

메타데이터로서 속성을 어떻게 사용할지는 개발자에게 달려 있으며, 특정 애플리케이션, 클래스, 멤버에 종속되지 않는 다양한 정보를 다룰 수 있다. 속성을 더 큰 애플리케이션 프레임워크의 일부로 사용할지 여부는 개발자가 결정한다.

속성은 `System.Attribute`에서 파생된 클래스 형태로 구현된다.[1] COM 상호 운용, 원격 조정, 직렬화와 같은 CLR 서비스에서 사용되고 런타임에 쿼리될 수 있다.[1]

2. 1. 1. C# 코드 예시

csharp

[Obsolete("Use class C1 instead", IsError = true)] // C가 폐지되었음을 나타내는

public class C {...} // 컴파일러 메시지가 표시된다.

public class ObsoleteAttribute: Attribute { // 이 클래스 이름은 뒤에 "Attribute"가 붙지만

public string Message{ get; } // "Obsolete"만으로 사용할 수 있다.

public bool IsError{ get; set; }

public ObsoleteAttribute() {...}

public ObsoleteAttribute(string msg) {...}

public ObsoleteAttribute(string msg, bool error) {...}}

[Obsolete]

[Obsolete("This is obsolete")]

[Obsolete("This is obsolete", false)]

[Obsolete("This is obsolete", IsError = false)]

```

위의 첫 번째 문자열 형식 매개변수와 같은 위치 지정 매개변수는 속성의 생성자 매개변수이다. 이 예의 부울 값 매개변수와 같은 명명된 매개변수는 속성의 프로퍼티이며, 정수 값이어야 한다.[1]

2. 2. 다중값 데이터베이스

SQL과 관계된 많은 포스트 관계형 또는 다중값 데이터베이스 시스템에서 테이블은 파일, 행은 항목, 열은 속성으로 간주된다.[1] 데이터베이스와 코드 모두에서 속성이 값과 하위 값을 가질 수 있도록 규정될 수 있다는 점을 감안하더라도, 속성은 성질이나 변수와 동일하다.[1]

이러한 데이터베이스 중 최초는 픽 운영 체제이다.[1] 현재 운영되는 플랫폼으로는 로켓 U2의 유니버스와 인터시스템즈의 캐시가 있다.[1]

2. 3. XML

XML에서 '''속성'''은 시작 태그 또는 빈 요소 태그 내에 존재하는 이름/값 쌍으로 구성된 마크업 구조이다. HTMLXML과 같은 마크업 언어는 속성을 사용하여 데이터와 데이터 형식을 설명한다.

2. 3. 1. XML 속성 예시

XML이 속성에 값을 할당하는 과정은 좋은 예시이다. 요소의 값은 별도의 종료 태그 앞에 있으며, 요소 자체에 있지 않다는 점에 유의해야 한다. 요소 자체에는 여러 속성(NAME = "IAMAPROPERTY")이 설정될 수 있다.

해당 요소가 다른 엔터티(예: CUSTOMER)의 속성(CUSTOMER_NAME)으로 간주될 수 있는 경우, 해당 요소는 자체적으로 0개 이상의 속성(속성)을 가질 수 있다(CUSTOMER_NAMETYPE = "KINDOFTEXT"임).[1]

3. 규칙 및 자료형

각 속성은 연산이라고 하는 관련 규칙 집합을 가진다.[1] 예를 들어 문자를 더하거나, 정수 배열을 이미지 객체와 같은 방식으로 조작하고 처리하지 않으며, 부동 소수점 유형인 것처럼 텍스트를 처리하지도 않는다.[1]

객체 정의는 표현 형식, 기본값, 유효한 연산(규칙) 및 제한("0으로 나누는 것은 허용되지 않음" 등)으로 구성될 수 있는 데이터 유형을 부과하여 확장될 수 있다.[2] 이러한 모든 요소는 속성을 정의하는 데 잠재적으로 관여하거나, 반대로 객체 유형의 속성으로 볼 수 있다.[2] 사진 파일 형식(JPEG, PNG, BMP 등)은 동일한 연산으로 디코딩되지 않으며,[2] 프로그래밍 언어는 부동 소수점 형식의 숫자와 정수(long) 형식의 숫자를 평가하는 데 동일한 연산을 사용하지 않는다.[2]

컴퓨터 시스템과 관련하여 속성은 특정 읽기 또는 쓰기에 대한 읽기 또는 쓰기 속성으로 특별히 정의된다.

3. 1. 자료형 예시

컴퓨터 그래픽에서 선 객체는 다음과 같은 속성을 가질 수 있다.

  • 두께: 실수 값
  • 색상: 갈색 또는 녹색과 같은 설명 값 또는 RGB와 같은 특정 색상 모델로 정의된 값
  • 점선 속성


원 객체는 원점, 반지름과 같은 속성으로 정의할 수 있다.

참조

[1] 웹사이트 Advanced C#: Variable Number of Parameters http://ssw.jku.at/Te[...] Institut für Systemsoftware, Johannes Kepler Universität Linz, Fachbereich Informatik 2002-03-25
[2] 웹사이트 Advanced C#: Variable Number of Parameters http://ssw.jku.at/Te[...] Institut für Systemsoftware, Johannes Kepler Universität Linz, Fachbereich Informatik 2002-03-25



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com