Menu
Coddy logo textTech

메서드 vs 함수

Coddy GO 여정의 로직 & 흐름 섹션에 포함된 레슨. 68개 중 10번째.

Go에서 메서드와 함수는 모두 작업을 수행하지만, 서로 다른 목적을 지니며 선언 방식도 다릅니다. 명확하고 체계적인 코드를 작성하려면 이러한 차이를 이해하는 것이 중요합니다.

함수는 독립적이고 자율적입니다. 특정 타입에 속하지 않습니다:

func calculateArea(width, height float64) float64 {
    return width * height
}

메서드는 리시버를 통해 특정 타입에 연결됩니다. 해당 타입에 속하며 그 타입의 데이터에 접근할 수 있습니다:

func (r Rectangle) area() float64 {
    return r.Width * r.Height
}

주요 차이점은 호출하는 방식에 있습니다. 함수는 이름으로 직접 호출하는 반면, 메서드는 점 표기법을 사용하여 연결된 타입의 인스턴스에서 호출합니다. 이러한 연결 덕분에 메서드는 사용자 지정 타입에 자연스럽게 속하는 동작을 정의하는 데 적합하고, 함수는 특정 데이터 구조에 연결될 필요가 없는 범용 작업에 잘 맞습니다.

직접 해보기

이 레슨에는 코드 챌린지가 없습니다.

quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

로직 & 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Go 컴파일러