Menu
Coddy logo textTech

사용자 정의 타입 정의하기

Coddy GO 여정의 기초 섹션에 포함된 레슨 — 109개 중 94번째.

Go에서 기존 타입을 기반으로 자신만의 사용자 정의 타입을 만들 수 있습니다. 이는 코드에 더 많은 명확성과 타입 안전성을 제공합니다.

섭씨 온도를 위한 사용자 정의 타입을 정의합니다:

type Celsius float64

func main() {
    var temperature Celsius = 25.5
    fmt.Printf("Temperature: %.1f°C\n", temperature)
}

결과는 온도 값을 보여줍니다:

Temperature: 25.5°C

사용자 정의 타입은 기반 타입처럼 동작하지만 컴파일러에 의해 별개의 타입으로 취급되어, 코드 가독성을 높이고 논리적 오류를 방지합니다.

challenge icon

챌린지

초급

이 챌린지에서는 Go에서 사용자 정의 타입을 정의하는 연습을 합니다. 사용자 정의 타입을 사용하면 기존 타입을 기반으로 자신만의 데이터 타입을 만들 수 있습니다.

여러분의 작업은 float64를 기반으로 하는 Temperature라는 사용자 정의 타입을 정의하고, 이 타입의 변수를 생성하는 것입니다.

타입을 정의한 후, 프로그램은 온도 변수의 값과 타입을 출력해야 합니다.

치트 시트

Go에서 type 키워드를 사용하여 사용자 정의 타입을 생성합니다:

type Celsius float64

사용자 정의 타입은 기존 타입을 기반으로 하지만 컴파일러에 의해 별개의 타입으로 처리됩니다:

type Celsius float64

func main() {
    var temperature Celsius = 25.5
    fmt.Printf("Temperature: %.1f°C\n", temperature)
}

사용자 정의 타입은 기본 타입처럼 동작하면서도 코드 가독성을 높이고 타입 안전성을 제공합니다.

직접 해보기

package main

import "fmt"

// TODO: float64를 기반으로 하는 'Temperature'라는 사용자 정의 타입 정의

func main() {
	// 값이 23.5인 Temperature 타입의 변수 생성
	var roomTemp Temperature = 23.5
	
	// roomTemp의 값과 타입을 출력
	fmt.Printf("Room temperature: %v\n", roomTemp)
	fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}
quiz icon실력 점검

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

기초의 모든 레슨