윈도우즈프로그래밍#7
LeeMir, 08 April 2021
클래스(이어서)
프로퍼티(Property)
- 프로퍼티
- 클래스의 private 필드를 형식적으로 다루는 일종의 메소드
- 셋-접근자로 값을 지정
- 겟-접근자로 값을 참조
- 겟-접근자 또는 셋-접근자만 정의할 수 있음
- 프로퍼티 수정자
- 수정자의 종류와 의미는 메소드와 모두 동일
- 필드처럼 사용되지만, 메소드처럼 동작
- 배정문(=)의 왼쪽에서 사용되면 셋-접근자 호출
- 배정문(=)의 오른쪽에서 사용되면 겟-접근자 호출
- 자동구현 프로퍼티도 사용 가능
public int Numerator { get; set; }
인덱서(Indexer)
- 인덱서
- 배열 연산자인 ‘[]’를 통해서 객체를 다룰 수 있도록 함
- 지정어 this를 사용하고, ‘[]’안에 인덱스로 사용되는 매개 변수 선언
- 겟-접근자 혹은 셋-접근자만 정의할 수 있음
- 인덱서 수정자
- static만 사용할 수 없고, 의미는 메소드와 모두 같음
연산자 중복
- 시스템에서 제공한 연산자를 재정의하는 것
- 클래스만을 위한 연산자로서 자료 추상화가 가능
- 문법적인 규칙은 변경 불가(연산 순위나 결합 법칙 등)
- 연산자 중복 방법
- 수정자는 반드시 public static
- 반환형은 연산자가 계산된 결과의 자료형
- 지정어 operator 사용, 연산기호로는 특수 문자 사용
- 형 변환 연산자
- 클래스 객체나 구조체를 다른 클래스나 구조체 또는 C# 기본 자료형으로 변환
- 사용자 정의 형 변환