클래스 정의
업데이트: 2007년 11월
이 단원에서는 클래스를 사용하여 프로그램에 개체를 나타내는 방법을 배웁니다.
이전 단원에서 배운 것처럼 Visual Basic 프로그램은 폼 및 컨트롤 같은 개체를 사용하여 빌드합니다. 또한 개체는 사람이나 컴퓨터 같이 실재하는 항목이나 은행 계정 같은 보다 추상적인 항목을 나타내는 데 사용될 수 있습니다.
클래스는 단순히 개체 형식을 나타낸 것이며 개체를 설명하는 청사진으로 보면 됩니다. 여러 빌딩을 만드는 데 하나의 청사진을 사용할 수 있는 것처럼 단일 클래스를 사용하여 원하는 수의 개체를 만들 수 있습니다.
설명은 없었지만 여기서는 이미 클래스를 사용했습니다. 예를 들어, TextBox 컨트롤은 해당 모양과 기능을 정의하는 TextBox 클래스를 사용하여 정의합니다. TextBox 컨트롤을 폼으로 끌어 올 때마다 실제로는 TextBox 클래스의 새 인스턴스가 만들어지는 것입니다.
각 TextBox 컨트롤은 TextBox 클래스를 정의하는 클래스와 동일하면서 고유한 복사본입니다. 각 개체는 클래스의 개별 "인스턴스"이므로 클래스를 만드는 작업을 인스턴스화라고 합니다.
지금까지는 도구 상자에서 TextBox 컨트롤을 끌어 와 폼에 추가했지만 New 키워드를 사용하여 코드에 선언하는 방식으로도 TextBox 개체를 인스턴스화할 수 있습니다.
Dim Textbox1 As New TextBox
다음의 일부 단원에서는 클래스를 만들어 사용하는 부분에 대해 좀 더 자세히 배웁니다.
클래스의 구성 요소
이전 단원 자세히 보기: 속성, 메서드 및 이벤트 이해에서는 모든 개체에 해당 특성을 설명하는 속성, 동작을 정의하는 메서드, 응답을 정의하는 이벤트가 있다고 배웠습니다. 마찬가지로 개체를 정의하는 클래스에도 해당 클래스의 모든 인스턴스로 전달되는 고유한 속성, 메서드 및 이벤트가 있습니다(멤버라고도 함).
예를 들어 은행 계정을 나타내는 클래스에는 AccountNumber 또는 AccountBalance 같은 속성, CalculateInterest 같은 메서드 그리고 BalanceChanged 같은 이벤트가 있습니다. 은행 계정 개체를 인스턴스화하면 TextBox 같은 개체를 사용하는 것처럼 해당 속성, 메서드 및 이벤트에 액세스할 수 있습니다.
클래스의 일부 멤버는 클래스 내의 코드를 통해서만 액세스할 수 있는 private 멤버입니다. 예를 들어, 은행 계정 클래스에는 잔고를 계산하는 메서드가 있을 수 있습니다. 일반적으로 프로그램이 잔고를 읽는 것은 허용되지만 프로그램에서 잔고를 직접 변경할 수 있도록 만들지는 않습니다.
클래스의 멤버는 Private으로 선언하여 숨기거나 Public으로 선언하여 노출할 수 있습니다. 또한 클래스를 ReadOnly로 선언하면 속성에 액세스할 수는 있지만 프로그램이 속성 값을 변경하지 못하게 할 수 있습니다. 다음 코드는 BankAccount 클래스를 보여 줍니다.
Class BankAccount
Private AccountNumber As String
Private AccountBalance As Decimal
Public Sub UpdateBalance()
' add code to recalculate balance.
End Sub
ReadOnly Property Balance() As Decimal
Get
Return AccountBalance
End Get
End Property
End Class
다음 단계
이 항목에서는 클래스의 기본 사항과 몇 가지 새로운 용어를 배웠습니다. 다음 단원에서는 클래스를 만드는 방법을 배웁니다.
다음 단원: 실세계 개체 모델링: 클래스 처음 만들기.