TYPE-SAFE 란?

홍한솔·2021년 12월 28일
0

CS

목록 보기
3/3
post-custom-banner

Type Safe라는 말을 처음 접했을 때, 단순히 타입에 안정적이라는 말로 이해했습니다.

하지만, 더욱 찾아본 결과 복잡한 개념인 것을 알게되었습니다.

Type Safe 정의

Type-safe

Type Safe 라는 개념은 고정적인 개념이 아닌 언어의 타입 시스템에 따라 다른 의미를 가집니다.

일반적으로 언어의 타입 안정성이 프로그램의 well-defined를 보장하는것을 의미합니다.

"제대로 타입된 프로그램은 절대 잘못될 수 없다" 라는 문장을 통해 타입 안정성을 직관적으로 이해할 수 있습니다.

여기서 잘못된다라는 의미는 문법적으로는 틀리지 않았지만 의미적으로 문제가 발생하는 것으로 대표될 수 있습니다.

예를 들면 아래 코드는 문법적으로 틀리지 않았지만 에러가 발생하는 코드입니다.

따라서 이 언어의 경우 잘못되었으므로 type safe 하지 않습니다.

char buf[4];
buf[4]='a';

Type Safe 한 언어들

c, c++

c와 c++은 Type Safe하지 않습니다.
이 언어들은 문법적으로 맞지만 의미있는 코드를 배제하지 않습니다.

위에서 본 예시코드에서 문법적으로 맞게 코드를 작성하였지만 에러를 발생시켰기 때문입니다.

java, c#

java와 c#에서는 문제가 발생하는 코드의 경우 예외를 처리해주기 떄문에 Type Safe합니다.

다시 위 예시 코드에서 java나 c#의 경우에서는 ArrayOutOfBoundsException 을 던져주기 때문에 프로그램은 잘못되지 않습니다.

profile
낭만있는 개발자
post-custom-banner

0개의 댓글