ksundev 님의 블로그

[예제] Bank Project - 3 본문

[개발] Go/초급 프로젝트

[예제] Bank Project - 3

ksundev 2025. 6. 14. 18:56

이번에는 Owner를 변경해보자.

// ChangeOnwer of the account
func (a *Account) ChangeOwner(newOwner string) {
	a.owner = newOwner
}

 

그리고 연습삼아 Owner의 이름을 조회하는 함수를 만들어보자.

// GetOwner returns name of owner
func (a Account) GetOwner() string {
	return a.owner
}

 

여기서는 *Account 를 쓰지 않았다. 이유는 2가지인데,
1. 어차피 값을 얻는 것이므로 복사본이 생겨도 된다. 이는 메서드가 원본 데이터를 변경할 수 없으므로 불변성이 보장된다.
2. 메모리 사용측면에서도 포인터를 사용하지 않아도 되어 더 효율적일 수 있다.

 

String() 메서드?

파이썬에서는 어떤 객체를 print하려고 하면 __str__의 값을 출력하려고 한다.

Go에서는 이 역할을 String() 메서드가 수행하게 된다.

func (a Account) String() string {
	return fmt.Sprintf("Account owner: %s, Balance: %d", a.owner, a.balance)
}

 

 

이제 다음 예제인 Dictionary로 넘어가보자.

'[개발] Go > 초급 프로젝트' 카테고리의 다른 글

Dictionary 예제 - Update, Delete  (0) 2025.06.26
Dictionary 예제 - Search, Add  (0) 2025.06.25
[예제] Bank Project - 2 (Method)  (0) 2025.06.10
[예제] Bank Project - 1  (0) 2025.06.10