IT&Computer

Dynamic typing? Static typing? 변수의 데이터 타입별 프로그래밍 언어의 분류

Seeker시커 2023. 7. 26. 08:00
반응형

프로그래밍언어는 변수의 데이터 타입별로도 분류할 수 있다. 각 장단점이 분명하기 때문에 배울 프로그래밍 언어와 공부의 방향을 잡기 위해서 미리 알아두는게 좋다.

Dynamic typing? Static typing? 변수의 데이터 타입별 프로그래밍 언어의 분류

 

Pixabay님의 사진: https://www.pexels.com/ko-kr/photo/c-276452/

Dynamic typing 언어와 Statictyping 언어는 변수를 선언할 때 자료형을 미리 지정하는가 안하는가에 대한 분류이다. 아래 표와 같은 차이이다.

Dynamic typing 언어와 Static typing 언어의 차이

Dynamic typing 언어 x = "letter"
y = 21
Static typing 언어 String x = "letter";
int y = 21;

x 에는 letter 라는 글자를 저장하고 y에는 21이라는 숫자를 저장하는데 Dynamic typing 언어는 간단히 변수와 값을 지정한 것과 달리 Static typing 언어는 변수의 자료형을 미리 지정한 것을 알 수 있다. 단순히 어떤 언어가 좋다기 보다는 아래와 같이 장단점이 있다.

 

Dynamic typing 언어의 장점

  • 간결하고 편리하다.
  • 어려운 표현이 적어서 내용과 로직이 쉽게 이해 된다.
  • 비전공자가 배우기 쉽다.
  • 코딩의 속도가 빠르다.
  • 작은 크기의 프로그램을 혼자 만들기 쉽다.

Dynamic typing 언어의 단점

  • 컴퓨터적 구조가 생략되어 실행속도가 다소 느리다. (컴퓨터의 발전으로 실행 속도는 많이 개선되었다.)

Static typing 언어의 장점

  • 명확하고 정교한 언어를 추구한다.
  • 컴퓨터적 구조가 눈에 잘 들어온다.
  • 사람의 실수를 시스템적으로 방지하고 체계적으로 코드를 작성하도록 한다.
  • 많은 사람의 협업, 크고 복잡한 프로젝트에 적합하다.
  • 컴퓨터적 구조를 미리 지정하기 때문에 실행 속도가 빠르다.

Static typing 언어의 단점

  • 제약이나 규칙이 많다.
  • 초보자/비전공자가 배우기 어렵다.

Dynamic typing 언어와 Static Typing 언어의 비교

언어 Dynamic typing 언어 Static typing 언어
추구하는 방향 간편함과 편리함 안정성과 정교함
코딩 속도 코딩 속도가 빠르다. 코딩 속도가 느리다.
실행 속도 실행 속도가 느리다. 실행 속도가 빠르다.
이해도 코드의 내용이 쉽게 이해된다. 컴퓨터적 구조가 쉽게 이해된다.
난이도 배우기 쉽다. 배우기 어렵다.
적합도 혼자, 작고 단순한 프로젝트에 적합 다수, 크고 복잡한 프로젝트에 적합
실행 속도가 중요한 프로그램에 적합
사용 언어 파이썬, 루비 등 자바, C 등

 

 

Dynamic typing? Static typing? 변수의 데이터 타입별 프로그래밍 언어의 분류

 

 

 

 

※ 이 포스트는 내돈내산 코드잇 강의 내용을 기반으로 작성되었습니다.

반응형