현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

HOWTO: Visual Basic .NET에서 속성 정의 및 사용

이 문서는 이전에 다음 ID로 출판되었음: KR308230
요약
많은 개체 지향 프로그래밍 언어의 한 가지 중요한 목적은 클래스의 내부 세부 사항을 캡슐화할 수 있도록 하는 것입니다. Visual Basic .NET을 사용하면 속성을 정의하여 클래스의 내부 세부 사항에 대한 제어된 액세스를 제공할 수 있습니다. 이 문서에서는 Visual Basic .NET 응용 프로그램에서 속성을 정의하고 사용하는 방법을 설명합니다.

속성에는 읽기 전용, 쓰기 전용 또는 읽기/쓰기 등이 있습니다. Get 접근자는 읽기 액세스를 제공하고 Set 접근자는 쓰기 액세스를 제공합니다. 이러한 접근자에 코드를 추가하여 속성을 얻거나 설정하는 적절한 기능을 제공할 수 있습니다.

본 문서에서는 Employee라는 이름의 클래스를 만듭니다. 이 클래스 내에서 직원 이름에 대한 읽기/쓰기 속성, 직원 급여를 읽는 속성 및 직원이 회사에 근무한 기간을 계산하는 속성을 정의합니다. 그런 다음 응용 프로그램에서 Employee 개체를 만들고 속성을 사용합니다.

맨 위로

요구 사항

이 문서는 사용자가 다음 내용을 잘 알고 있다고 가정합니다.
  • Visual Basic .NET 구문
  • 개체 지향 개념
  • Microsoft Visual Studio .NET
맨 위로

Visual Basic .NET 클래스를 포함하는 응용 프로그램 만들기

  1. Visual Studio .NET을 시작하고 EmployeeProperties라는 이름의 새로운 Visual Basic .NET 콘솔 응용 프로그램을 만듭니다.
  2. 프로젝트 메뉴에서 클래스 추가를 누릅니다. 새 항목 추가 대화 상자의 이름 입력란에 Employee.vb를 입력한 다음 열기를 누릅니다.
  3. 코드 뷰 창에서 새 클래스의 코드를 검사합니다.
맨 위로

필드, 생성자 및 메서드 정의

  1. 다음과 같이 Private 필드 세 개를 Employee 클래스에 추가합니다.
    Private Name As StringPrivate Salary As DecimalPrivate HireDate As DateTime
  2. 클래스의 생성자를 정의하여 Employee 클래스에 있는 필드를 초기화합니다.
    Public Sub New(ByVal Name As String, _               ByVal Salary As Decimal, _               ByVal HireDate As DateTime)   Me.Name = Name   Me.Salary = Salary   Me.HireDate = HireDateEnd Sub
  3. 다음과 같이 Public 메서드를 클래스에 추가합니다.
    Public Sub PayRise(ByVal Amount As Decimal)   Me.Salary += AmountEnd Sub
맨 위로

클래스 속성 정의

  1. 다음 코드를 추가하여 FullName이라는 이름의 읽기/쓰기 속성을 추가합니다. Get 접근자는 직원 이름을 반환합니다. Set 접근자는 Set 접근자에 전달된 Value 매개 변수를 사용하여 직원 이름을 설정합니다.
    Public Property FullName() As String   Get      Return Me.Name   End Get   Set(ByVal Value As String)      Me.Name = Value   End SetEnd Property
  2. 다음 코드를 추가하여 Remuneration이라는 이름의 ReadOnly 속성을 추가합니다. Get 접근자는 직원 급여를 반환합니다. 급여는 직접 설정할 수 없기 때문에 Set 접근자는 없습니다. 급여를 변경하는 유일한 방법은 PayRise 메서드를 호출하는 것입니다.
    Public ReadOnly Property Remuneration() As Decimal   Get      Return Me.Salary   End GetEnd Property
  3. 다음 코드를 추가하여 DaysSinceJoined라는 이름의 다른 ReadOnly 속성을 추가합니다. Get 접근자는 직원이 회사에 근무한 일수를 계산합니다.
    Public ReadOnly Property DaysSinceJoined() As Integer   Get      Dim timespan As TimeSpan = DateTime.Now.Subtract(Me.HireDate)      return timespan.Days   End GetEnd Property
맨 위로

개체 만들기 및 속성 사용

  1. 코드 뷰 창에 Module1.vb의 코드를 표시합니다.
  2. Main 메서드에서 New 연산자를 사용하여 Employee 개체를 만듭니다. 다음과 같이 로컬 Employee 변수에 개체 참조를 할당합니다.
    Dim worker As New Employee( "Jayne Doe", _                             125000, _                             New DateTime(1998, 7, 31) )
  3. 다음 코드를 추가하여 직원의 FullName 속성을 변경합니다. 이렇게 하면 FullName 속성의 Set 접근자를 암시적으로 호출합니다.
    worker.FullName = "Jayne Lafayette"
  4. FullName, RemunerationDaysSinceJoined 속성의 Get 접근자를 사용하여 다음 코드를 추가하여 직원의 세부 사항을 표시합니다.
    Console.WriteLine("Full name: " & worker.FullName)Console.WriteLine("Remuneration: " & worker.Remuneration)Console.WriteLine("Days since joined: " & worker.DaysSinceJoined)
맨 위로

작동 여부 확인

  1. 응용 프로그램을 빌드하고 실행합니다.
  2. 콘솔에 다음 정보가 표시됩니다. "Days since joined" 값은 현재 날짜에 따라 달라집니다.
    Full name: Jayne LafayetteRemuneration: 125000Days since joined: 1139
  3. 코드 뷰 창에 있는 Module1.vb 파일로 돌아가 Main 메서드 끝에 다음 코드를 추가합니다.
    worker.Remuneration = 1000000
  4. 응용 프로그램 빌드를 시도합니다. Remuneration이 읽기 전용 속성이기 때문에 컴파일 오류가 발생합니다.
  5. 문을 다음과 같이 변경합니다.
    worker.Salary = 1000000
  6. 응용 프로그램 빌드를 다시 시도합니다. Salary 필드가 Private으로 표시되어 있기 때문에 다른 컴파일 오류가 발생합니다. 직원의 급여를 수정하는 유일한 방법은 Public PayRise 메서드를 사용하는 것입니다.
맨 위로
속성

문서 ID: 308230 - 마지막 검토: 03/13/2002 10:07:00 - 수정: 1.0

Microsoft Visual Basic .NET 2002 Standard Edition

  • kbhowto kbhowtomaster KB308230
피드백
/html>cript> dy>le="display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">l>