티스토리 뷰

변수의 데이터타입(자료형) 지정 여부

  • 파이썬은 자료형을 지정하지 않고, 자바는 지정한다.

자료 미지정할 때 장단점 (Python)

  • 장점 : 빠르고 간편하게 코드를 짤 수 있다.
  • 단점 : 제대로 연결되지 않아, 오류가 발생할 수 있다.

자료를 지정할 때 장단점 (Java)

  • 장점 : 정밀하고 섬세하므로 안정적이다.
  • 단점 : 복잡하고 제약이 많다.

 

동적 타이핑언어 vs. 정적 타이핑언어

동적 타이핑 언어 (Dynamic typing)

  • 변수에 자료형을 지정하지 않는 언어
  • 간결하고 편리하다.
  • 컴퓨터적 구조가 생략되어 실행속도가 약간 느리다.
  • Python, Javascript, Ruby, Php

정적 타이핑 언어 (Static typing)

  • 변수에 자료형을 지정하는 언어
  • 컴퓨터적 구조가 잘 보이며 실수를 방지하고 더 체계적으로 코드를 작성할 수 있다.
  • 체계적이어서 많은 사람이 협업해야하는 프로젝트에 적합하다.
  • 실행속도가 빠르다.
  • C, C++, Kotlin, Java, Pascal

 


Dynamic typing                                                                          Static typing

코딩 속도가 빠르다. 코딩 속도가 느리다.
실행 속도가 느리다. 실행 속도가 빠르다.
코드의 내용이 눈에 잘 들어온다. 코드의 구조가 눈에 잘 들어온다.
배우기 쉽다. 배우기 어렵다.
혼자서 빠르게 하는, 작고 단순한 프로젝트에 적합 여러 사람이 협업하는, 크고 복잡한 프로젝트에 적합

 

동적 타이핑(Dynamic Typing)

정적 타이핑과 달리 자료형을 컴파일이 아닌 런타임 시 결정하는 것입니다. 자료형의 명시 없이 변수명만 가지로 선언 및 값을 전달할 수 있습니다. 대표적인 언어로 Python, Ruby, Javascript 등이 있습니다. 런타임시에 타입에 대한 결정을 진행하므로 프로그래밍 하는 입장에서 편할 수 있지만, 런타임 동안 예상치 못한 에러가 발생할 수 있고 이를 발견하는데 큰 어려움을 겪을 수 있다.(유지보수 문제)

 

정적 타이핑(Static Typing)

자료형(type)을 컴파일 당시에 결정하는 것으로, 변수에 들어갈 값의 형태에 따라 자료형을 사전에 지정해야 합니다. 컴파일시 자료형에 맞지 않은 값이 전달되면 컴파일 에러를 발생시킨다. 대표적인 언어로 C, Java, C++, C# 등이 있습니다. 컴파일시에 자료형에 대한 판단을 하기 때문에 속도가 빠르고, 타입 에러로 발생하는 문제점을 초기에 발견할 수 있습니다.

 

'Programming basic' 카테고리의 다른 글

쿠키, 세션 그리고 디장고 인증(Authentication)  (0) 2021.12.14
docstring 작성법  (0) 2021.11.29
HTTP 상태 코드  (0) 2021.10.25
변수 및 식별자 표기법 3가지  (0) 2021.10.20
추상화와 다양한 언어  (0) 2021.10.20
댓글