* 정의

 

강력한 형식 언어에서는 변수를 사용하기 전에 타입을 명시적으로 선언해야한다. int, char 등 을 포함한 모든 데이터 타입은 미리 프로그래밍 언어에 선언되어 있어야 하고 모든 변수나 상수는 이러한 데이터 타입 중에 하나여야 한다.

 

강력한 형식의 언어는 컴파일러를 통해 데이터 타입과 값이 혼합되어 사용되는 경우를 방지하고 데이터 형식이 준수되도록 한다.

 

C#도 강력한 형식 언어다.

 

 

* 장점

 

  • 엄격한 규칙을 통해 결과의 일관성을 보장한다.
  • 타입 결정에 대한 런타임 패널티가 없다.
  • 오류를 조기(컴파일 타임)에 탐지하여 개발 속도를 올려준다.
  • 컴파일러가 최적화된 코드를 만들어준다.
  • 의도치 않는 형식에 데이터를 읽거나 할당하는 일을 막아줌으로써 실수를 줄여준다. // 예를 들어 정수형 형식에 문자열을 할당하려고 하는 경우 컴파일 에러를 발생시킨다.

 

 

* 단점

 

  • 유연성이 떨어진다. 언어에서 예상치 못한 데이터 타입을 만들어서 사용하는 것을 막고 있다. 
  • heterogeneous collection(혼종, 이기종, 이종 컬렉션)을 정의하기 더 어렵다.

# heterogeneous collection 이란 다른 타입의 데이터를 저장하면서 조회, 업데이트, 순회 등의 기능을 제공하는 데이터 타입이다.

'C#' 카테고리의 다른 글

[C#] const, readonly  (0) 2022.06.28
[C#] ref, out  (0) 2022.06.28
[C#] var  (0) 2022.06.28
[C#] 박싱과 언박싱(Boxing and Unboxing)  (0) 2022.06.28
[C#] object  (0) 2022.06.28

+ Recent posts