포트폴리오/it개념들(이슈도 포함)

정적 타입 언어 vs 동적 타입 언어

sw개발자 2021. 8. 5. 16:04
  1. 타입이란?
    • 정적 타입 언어
    • 동적 타입 언어
    • 정적 타입 언어 vs 동적 타입 언어(참고로 Javascript는 동적 타입 언어이다)
  2. 번외: typescript가 인기가 많아지는 이유

 

동적(Dynamic) ---- 정적(static)언어 구분

위에 사진에 보듯 동적 타입vs 정적타입은 프로그래밍 언어를 나누는 기준이 된다.

프로그래밍언어의 중요한 특징이니깐 구분이될텐데 과연 이게 구체적으로 뭔지 알아보자

우선 타입이란 무엇일까?


1. 타입

- 컴퓨터 메모리에는 비트의 패턴이 저장된다. 이것이 무엇을 의미할지는 순전히 어떻게 쓰여질지에 따라 달려있다.

 

이렇게 어떻게 쓰일지를 결정하는게 바로 데이터 타입이다.

Data Type
  • 데이터가 어떻게 표현되고 사용될지를 결정한다.
  • 데이터 타입에 따라 컴퓨터가 어떻게 데이터를 다룰지 알 수 있다.
  • 컴퓨터에 저장된 모든 값은 데이터타입에 의해서 표현될 수 있다.

<간략한 데이터 타입 예시>

  • 거의 공통적으로 사용되는 데이터 타입
[  int, float, double, char, boolean ,null]
  • 자바와 자바와관련된 js(+ts)와 같은 언어
string
  • 객체지향언어 
object
  • 그외에 
ts경우에 int가 없고 number타입

2.

타입종류 정적타입 언어 (Static Typed Language)
동적타입 언어 (Dynamic Typed Language)
설명 자료형이 컴파일 타임에 결정되기 위해서, 소스코드 작성 시 명시적으로 자료형을 지정해주어야 한다. 동적타입 언어는 런타임 시 자료형이 결정되는 언어를 의미한다. 그래서  소스코드 작성 시 자료형을 명시적으로 지정해줄 필요가 없다
장점 안정성이 높다 실행속도가 빠르다. 유연성이 높고, 코드 작성이 효율적
단점 유연함이 떨어진다. 타입에 대한 리스크(+ 스펠링에러)를 런타임에 감당해야한다.
프로그래밍언어종류 C, C++, Java, C# Python, JavaScript, Ruby

+ typescript가 인기가 많아지는 이유

정적타입언어의 장점에서 들어난다. 
요즘, 웹의 규모가 커지며, 복잡하기에 타입에 대한 리스크를 감당하기 힘들어 졌다. 근데 정정타입언어는 이를 해결해줄 수 있기에 js를 동적 타입언어에서 정적타입언어로 바꿀 수 없을까? 고민 끝에 나온 것이 typescript이다.

 


글을 읽어주셔서 감사합니다!

추가로 js type에 대해 알고 싶으면 아래 링크를 참고하시면 좋겠습니다.

http://tcpschool.com/javascript/js_datatype_basic

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com


출처:

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb7T0hI%2Fbtq42zxomPi%2FAAAAAAAAAAAAAAAAAAAAAAh7o8livlmlxGF528fSIAdTmrzZuk8LEWoZC4lURhQI%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D8no3Fki0KMVw6Mcwro%252F40ymUDCw%253D 

https://media.vlpt.us/images/ggob_2/post/162f7362-ee80-445a-babb-156b3b10359b/TS%20vs%20JS.png

https://leetaehoon.tistory.com/5