[go] 구조체(struct)의 생성자(Constructor) 개념과 사용 방법

구조체(struct)는 Go 프로그래밍 언어에서 사용되는 데이터 타입 중 하나입니다. 구조체는 여러 개의 필드로 이루어진 복합 데이터 타입이며, 많은 경우 생성자(Constructor) 함수를 통해 구조체를 초기화합니다.

생성자(Constructor)란?

생성자(Constructor)는 객체를 생성하고 초기화하는 특별한 함수로서, 구조체의 필드 값을 설정하는 역할을 합니다. 구조체의 생성자는 일반적으로 New<StructName>()와 같은 형태로 작명되며, 해당 구조체 타입의 값을 반환합니다.

구조체 생성자의 사용 방법

  1. 생성자 함수를 정의합니다.
type Person struct {
    Name string
    Age  int
}

func NewPerson(name string, age int) *Person {
    return &Person{
        Name: name,
        Age:  age,
    }
}
  1. 생성자 함수를 사용하여 구조체 객체를 생성합니다.
func main() {
    // 구조체 생성자 호출
    p := NewPerson("John", 25)

    // 구조체 필드에 접근하여 값을 출력
    fmt.Println("Name:", p.Name)
    fmt.Println("Age:", p.Age)
}

위의 예시에서는 Person 구조체와 NewPerson 생성자 함수를 정의하였습니다. NewPerson 함수는 입력받은 인자를 이용하여 Person 구조체 객체를 생성하고 필드 값을 초기화합니다.

main 함수에서는 NewPerson 함수를 호출하여 p 변수에 할당한 후, p.Namep.Age 필드에 접근하여 값을 출력합니다.

위와 같이 생성자를 사용하면 구조체의 필드 값을 명확하게 설정할 수 있고, 초기화 과정에서 발생할 수 있는 문제를 방지할 수 있습니다.

결론

Go 언어에서 구조체의 생성자를 활용하여 구조체 객체를 초기화하는 방법에 대해 알아보았습니다. 생성자는 구조체 필드 값을 쉽게 설정하고, 초기화 과정에서 발생할 수 있는 오류를 방지하는 데 도움이 됩니다. 구조체를 사용할 때 생성자 함수를 정의하고 이를 이용하여 객체를 생성하면 코드의 가독성과 유지 보수성을 높일 수 있습니다.