윈도우즈프로그래밍#7

LeeMir, 08 April 2021

클래스(이어서)


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