Linuxpia/웹 프로그램

[FastAPI] FastAPI에 적용된 어노테이션(Annotation)이란?

Linuxpia4U 2024. 3. 4. 03:55
반응형

FastAPI에 적용된 어노테이션(Annotation)이란?

'어노테이션(Annotation)' 기능은 프로그래밍 언어에서 코드에 메타데이터를 추가하는 방법을 말합니다. 이 메타데이터는 실행 시간(runtime)이나 컴파일 시간(compile-time)에 다양한 용도로 사용될 수 있으며, 코드의 가독성을 높이고, 오류를 줄이며, 반복을 감소시키는 등의 이점을 제공합니다.

Python에서 타입 힌트(type hints)

Python에서는 타입 힌트(type hints)를 어노테이션의 한 형태로 사용합니다. 이는 함수의 매개변수나 반환 값에 예상되는 데이터 타입을 명시하는 데 사용됩니다. 이 정보는 IDE나 린터(linters), 그리고 런타임에 활용되지 않고, 주로 개발 단계에서 코드의 명확성을 높이고 버그를 줄이는 데 도움을 줍니다.

사례, Python 함수 추가 방법

def greet(name: str) -> str:
    return 'Hello ' + name

여기서 name: str은 매개변수 name이 문자열 타입이어야 함을 명시하고, -> str은 함수의 반환 타입이 문자열이라는 것을 나타냅니다.

Java의 어노테이션

Java와 같은 다른 프로그래밍 언어에서는 어노테이션을 클래스, 메서드, 변수 등에 적용하여 프레임워크나 라이브러리가 이를 해석하고, 해당 요소에 대한 추가적인 동작을 정의할 수 있도록 합니다. 예를 들어, Java의 Spring 프레임워크에서는 @Component, @Service, @Autowired 등의 어노테이션을 사용하여 의존성 주입(dependency injection), 서비스 구성 등의 기능을 구현합니다.

정리

어노테이션은 코드에 추가적인 정보를 제공하여, 프로그래머가 의도하는 동작을 더 명확하게 표현할 수 있게 하고, 다른 개발자나 도구들이 코드를 더 잘 이해하고 사용할 수 있도록 도와줍니다.

 
복사하기
 
 
반응형