-
정적 언어와 동적 언어의 특징 및 차이점개발에 필요한 기초 지식 2022. 3. 15. 23:39
JavaScript의 배열이 다른 언어와 다른 점에 대해 봤는데 이 부분이 이해가 안 되서 이렇게 찾아보게 되었습니다.
배열 내부의 데이터 타입이 서로 다를 수 있다.
제가 그나마 아는 언어가 Python인데
제가 알기로는 Python에서 배열 내부의 데이터 타입이 달라도 되는 것으로 알아서 테스트를 해봤습니다.
결과는 아래처럼 문제 없이 실행되었습니다.
Python의 배열 내부의 데이터 타입을 다르게 하여 테스트 한 결과 그래서 조금 더 찾아보니 여기서 말한 "다른 언어"는 정적 언어를 의미하는 듯 합니다.
그래서 이참에 정적 언어와 동적 언어에 대해 정리하고자 합니다.
# 정적 언어의 특징과 장단점
특징
- 변수에 들어갈 값의 형태에 따른 자료형(타입)을 컴파일 시에 결정
- 변수에 들어갈 값의 형태에 맞지 않는 타입을 지정하면 타입 에러 발생
- C, C++, C#, JAVA 등
장점
- 컴파일 시에 타입을 결정하니 실행 속도가 빠르다.
- 초기에 타입 에러를 발견할 수 있어 타입의 안정성이 높다.
단점
- 매번 타입을 지정해줘야 하기에 번거롭다.
# 동적 언어의 특징과 장단점
- 변수에 들어갈 값의 형태에 따른 자료형(타입)을 실행시에 결정
- 타입 없이 변수만 선언하여 실행 가능
- Python, JavaScript, Ruby 등
장점
- 실행시까지 자료형을 지정할 수 있기에 선택의 폭이 넓다.
- 일일이 타입을 지정해주지 않아도 되기에 개발 속도가 빠르다.
단점
- 의도치 않은 타입 에러가 발생할 수 있다.
Q. TypeScript는 정적 언어일거 같은데 둘 다 가능한 언어라는 얘기가 있다. 어떤 쪽의 언어이고 그 이유는?
<참고 자료>
정적 언어와 동적 언어의 차이점에 대해 정말 쉽게 잘 써주셔서 공유드립니다.
https://itmining.tistory.com/65
정적언어(타입)과 동적언어(타입)
이 글은 PC 버전 TISTORY에 최적화 되어있습니다. 타입 타입이란, 한글로 자료형입니다. int형, short형, float형, bool형, 객체 등이 있습니다. int a = 10; bool isKilled = false; Character human = new Cha..
itmining.tistory.com
그리고 정적 언어와 동적 언어에 대한 비교와 함께 다양한 의견도 볼 수 있어서 좋은 경험이 되었습니다.
https://okky.kr/article/304342
OKKY | 동적 언어 vs 정적 언어 승자는?
아침에 받아본 뉴스레터에 자극적인 제목이 달린 글이 있길래 좀 들여다 봤습니다. The End of Dynamic Languages vs Have Static Languages Won? 다 적기 귀찮아서 대충 몇가지만 적어보자면 최근 나타나는 신생
okky.kr
'개발에 필요한 기초 지식' 카테고리의 다른 글
서버(세션) 기반 인증 방식의 장단점 및 동작 방식 (0) 2022.03.23 JWT (Json Web Token) (0) 2022.03.21 REST API (0) 2022.03.11 프레임워크와 라이브러리란 무엇일까? (0) 2022.02.21 객체 지향 프로그래밍(OOP) 시리즈 - 객체 지향 프로그래밍이란? (0) 2022.01.23