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), 서비스 구성 등의 기능을 구현합니다.
정리
어노테이션은 코드에 추가적인 정보를 제공하여, 프로그래머가 의도하는 동작을 더 명확하게 표현할 수 있게 하고, 다른 개발자나 도구들이 코드를 더 잘 이해하고 사용할 수 있도록 도와줍니다.
'Linuxpia > 웹 프로그램' 카테고리의 다른 글
[FastAPI] 간단한 테스트를 위한 텍스트 기반 도구, cURL 개요 (46) | 2024.03.06 |
---|---|
[FastAPI] FastAPI 요청에 대한 응답은 JSON으로 변환, JSON이란? (36) | 2024.03.05 |
[FastAPI] 파이썬 라이브러리에서 Pydentic이란? (125) | 2024.03.03 |
[FastAPI] 비동기 처리가 가능한 async 키워드 (128) | 2024.03.02 |
[FastAPI] API란 무엇인가요? (109) | 2024.03.01 |