정적 타입 vs 동적 타입

Roy Jung·2023년 7월 5일
0
post-thumbnail

변수의 타입이 결정되는 시점이 기준이다.

동적 타입
변수의 타입이 런타임 시 정해진다. 대표적으로 Python이다. 코딩하는 입장에서 type에 크게 신경쓰지 않아도 돌아가는 코드를 만들 수 있다. python이 간단한 script를 짜는 데에 생산성이 좋은 이유 중 하나다. 하지만 복잡성이 증가하면 type 관련 에러가 발생할 수 밖에 없다. 이를 막기 위해서는 validation code들이 늘어나는 등의 어려움이 생겨 오히려 생산성이 떨어질 수 있다.

정적 타입
변수의 타입이 컴파일 시점에 정해진다. type 관련 오류가 있을 때 compile이 되지 않는다. 덕분에 잠재적인 에러를 미리 잡아낼 수 있기에 안정성이 뛰어나다. Type을 엄격하게 code level에서 다루기 때문에 간단한 script에는 귀찮게 느껴질 수 있다. 하지만 복잡한 프로그램을 만들 때는 안정성과 생산성이 향상된다.

정적타입 언어 리스트: Ada, C, C++, C#, JADE, Java, Fortran, Haskell, ML, Pascal, Scala
동적타입 언어 리스트: Groovy, JavaScript, Lisp, Lua, Objective-C, PHP, Prolog, Python, Ruby, Smalltalk, Tcl

profile
내가 보려고 쓰는 글

0개의 댓글