Single.Parse()처럼 문자열을 객체로 만드는 방법

Single.Parse()는 문자열을 읽어서 그 값을 Single형 값으로 바꾸어준다.

[vbnet]Dim myValue As Single = Single.Parse(“36.5”)[/vbnet]

myValue는 단정도 실수인 36.5가 된다.

이 방법은 파일에서 문자열을 읽어온 후에, 그 값을 전환하는데 있어서 매우 유용하다.

같은 방법으로 문자열을 읽어서 특정 객체를 생성시키려면 다음과 같이 하면 된다.

<작성하고자 하는 클래스>

[vbnet]Public Class Person ‘클래스명 = Person
Private m_Name As String
Private m_Age As Short
…<중략>….
End Class[/vbnet]

1) String형 매개변수를 갖는 생성자를 선언한다.

그리고, 생성자 코드 안에 문자열을 해석할 InternalParse를 호출한다.

[vbnet]Public Sub New(ByVal myText As String)
InternalParse(myText)
End Sub [/vbnet]

생성자 내용을 간단하게 하는 것이 좋다.

다른 함수(초기화메소드)를 이용하면, 인스턴스 변수에 대한 초기화를 생성자 이외에서도 할 수 있다.

2) InternalParse() 메소드를 작성한다.

[vbnet]Private Sub InternalParse(ByVal myText As String)
‘문자열을 분해한다.
Dim Words() As String = GetWords(myText) ‘GetWords에 대한 함수는 각자가 작성 ^^
‘하나의 문자열을 의미있는 단어로 분할!
‘분해된 문자열을 인스턴스 변수에 대입한다.
m_Name = Words(0) ‘이름
m_Age = Short.Parse(Words(1)) ‘나이
End Sub [/vbnet]

3) Parse() 메소드를 작성한다.

이 때, 이 클래스의 인스턴스 없이 Parse()메소드를 호출하기 위해서는 Shared를 선언한다.

[vbnet]Public Shared Function Parse(ByVal myText As String) As Person
Return New Person(myText)
End Sub[/vbnet]

4)사용법

[vbnet]Dim mySon As Person = Person.Parse(“김창선, 4”) [/vbnet]

이름은 ‘김창선’이고 나이는 ‘4’인 mySon 인스턴스가 생긴다.

Print Friendly, PDF & Email
%d bloggers like this: