개발/기본) 기본기
기본기) 타입 추론 (Type Inference)
테샤르
2024. 5. 17. 08:59
타입 추론 (Type Inference)
타입 추론은 프로그래밍 언어에서 프로그래머가 명시적으로 타입을 지정하지 않아도 표현식의 타입을 자동으로 유추해서 자동으로 타입을 정의해서 진행하는 기능이다.
이는 코드 가독성을 높이고 간결하게 만들어주고 타입 안정성과 같은 정적 타입에서도 이점을 유지할 수 있다.
반응형
< 타입추론의 작동 방식 >
1. 지역 추론 방식
변수가 선언되는 과정에서 타입을 추론이 가능하다.
var x = 5; // 컴파일러가 x의 타입을 int로 추론
2. 함수 반환 타입 추론
함수의 반환과정에서 반환타입을 가지고 타입을 추론이 가능하다.
def add(a, b):
return a + b
# 정적 타입 언어에서는 컴파일러가 add 함수가 매개변수와 동일한 타입을 반환한다고 추론할 수 있습니다.
3. 제네릭 타입 추론
제네릭을 사용할 때 컴파일러는 제공된 인수를 기반으로 타입 매개변수를 추론이 가능하다.
List<String> strings = List.of("one", "two", "three");
// 컴파일러가 List.of()가 List<String>을 반환한다고 추론
< 타입 추론의 단점 >
복잡성이 높아지고 타입이 명시적으로 보이지 않아서 코드해석의 어려움이 생길 수 있다.
타입 추론 과정이 복잡해지면 컴파일 시간에 영향이 생길수 있다.
명시적으로 지정된 타입이 아니어서 디버깅에 어려움이 생길 수 있다.
적정한 상황에서 타입 추론을 사용해서 편리함과 간결성의 이점을 가지는 선에서 사용하는게 좋다.
★★★★☆
반응형