유형 확인
유형 검사란 무엇입니까?
유형 검사는 일반적으로 모든 작업이 적절한 수의 인수와 데이터 유형을 수신했는지 확인하는 컴파일러에 의해 수행됩니다. 시스템에는 두 가지 유형이 있습니다.
정적 유형 확인
정적 유형 검사에서는 이를 확인하기 위해 프로그램을 실행할 필요가 없습니다. 컴파일러는 컴파일 타임에 정적 유형 검사를 수행합니다.
정적 유형 검사는 프로그램을 실행하기 전에 감지할 수 있으므로 프로그램에 오류가 있을 때 유용합니다. 신뢰성과 보안성을 향상시키는 데 도움이 됩니다.
정적 유형 검사의 예로는 프로그램에서 변수를 사용하기 전에 변수를 선언해야 하는 C 언어가 있습니다. 이를 선언하지 않으면 컴파일러에서 오류가 표시되고 프로그램을 실행할 수 없습니다.
동적 유형 검사
동적 유형 검사는 런타임 또는 실행 시간까지 발생하지 않습니다. 동적 유형 검사는 유형에 대한 사전 지식 없이도 프로그램을 작성할 수 있게 해주기 때문에 유용합니다. 런타임에만 유형을 확인해야 하는 시나리오에서.
유형 검사의 가장 일반적인 형태는 컴퓨터 프로그램의 각 변수, 매개변수 및 함수 반환 값에 데이터 유형을 할당하는 것입니다. 이러한 값에 할당된 유형에 따라 적절한 작업이 허용됩니다(예: 두 개의 정수 변수를 추가하여 다른 정수를 생성하거나 두 문자열을 연결하여 다른 문자열을 생성). 유형 검사를 통해 이러한 작업이 의도한 목적에 맞게 유효한지 확인합니다.
일부 프로그래밍 언어(예: C)에서는 유형 검사가 컴파일러에 의해 수행됩니다. 다른 경우(예: PHP)는 런타임까지 연기될 수 있습니다(이 경우 동적 유형 검사라고 할 수 있음).
일부 언어에서는 프로그래머가 새로운 유형을 정의하여 프로그램이 해당 유형을 알고리즘에 사용할 수 있도록 합니다. 다른 언어에서는 프로그래머가 런타임에 임의의 속성을 값과 연결할 수 있습니다.
많은 언어에는 두 가지 접근 방식이 모두 포함됩니다. 예를 들어, Java는 사전 정의된 유형을 제공하고 프로그래머가 새 클래스를 생성하거나 기존 클래스를 확장(예: 새 유형 정의)할 수 있도록 합니다. Perl 및 Python과 같은 일부 언어도 유형 추론을 수행하며 유형 선언이 필요하지 않습니다.