[go] Go 언어의 함수와 메서드의 정의 및 활용 방법

Go 언어에서는 함수와 메서드를 사용하여 코드의 재사용성을 높일 수 있습니다. 이들은 서로 다른 목적으로 사용되지만 기본적으로 코드의 중복을 피하고 유지보수를 쉽게 만드는 데 도움이 됩니다.

함수 (Function)

함수는 특정 작업을 수행하는 코드 블록입니다. Go에서 함수는 func 키워드를 사용하여 정의되며, 필요에 따라 매개변수를 받고 결과를 반환할 수 있습니다.

func add(a, b int) int {
    return a + b
}

result := add(3, 5)
fmt.Println(result) // 출력 결과: 8

이 예제에서 add 함수는 두 개의 정수형 매개변수를 받고, 그들의 합을 반환합니다.

메서드 (Method)

메서드는 특정 타입과 연관된 함수로, 해당 타입의 객체에 대해 작동합니다. Go에서는 구조체 (struct)를 이용하여 메서드를 정의할 수 있습니다.

type Rectangle struct {
    width  float64
    height float64
}

func (r Rectangle) area() float64 {
    return r.width * r.height
}

rect := Rectangle{width: 10, height: 5}
fmt.Println(rect.area()) // 출력 결과: 50

이 예제에서 area 메서드는 Rectangle 타입과 연관되어 있으며, 해당 타입의 객체에 대해 넓이를 계산하여 반환합니다.

함수와 메서드의 활용 방법

함수는 단순히 독립적인 기능을 수행하는 반면, 메서드는 특정 타입과 관련된 작업을 처리합니다. 따라서 메서드를 사용하면 객체 지향 프로그래밍의 개념을 더욱 잘 적용할 수 있습니다.

또한, 함수와 메서드는 코드의 재사용성을 높여주므로 유지보수가 용이해집니다.

참고 자료