<aside> 💡 모든 언어는 타입시스템을 가지고 있으며 동적 타입과 정적 타입으로 나눠진다.

</aside>

동적타입

정적타입

정적 타입시스템의 필요성

정적 타입 시스템은 프로그램의 가독성을 높이고 타입에 대한 에러를 미리 방지할 수 있다.

  1. 타입을 명시해서 나중에 다른 개발자가 보더라도 어떠한 매개변수를 넣고 이 함수가 어떠한 값을 반환하는지 명시적으로 파악할 수 있게 만든다.
  2. 어떠한 함수, 또는 API에 대한 여러가지의 타입으로 이루어진 값이 발생될 수 있는데 해당 값들에 대한 대처를 “미리” 할 수 있다. (주로 외부 API에 요청을 하고 그 이후에 로직을 만들 때)
  3. 매개변수를 잘못 할당하는 등 개발자의 잔실수를 막아주는 역할

<aside> 💡 mypy (파이썬 타입 정적 검사기 모듈)

</aside>