정적언어(타입)과 동적언어(타입)

2017. 1. 9. 17:28· Basic/프로그래밍 기초


이 글은 PC 버전 TISTORY에 최적화 되어있습니다.


타입

 타입이란, 한글로 자료형입니다. int형, short형, float형, bool형, 객체 등이 있습니다.

int a = 10;
bool isKilled = false;
Character human = new Character( );

와 같이 변수를 선언할 때 앞에 붙여 사용합니다.

정적언어, 정적타입 모두 같은 의미로 쓰이고 있습니다. 쉬운 개념이므로 이 단어가 나왔을 때 쫄지 않기 위해 알아보도록 하겠습니다. ^^





정적언어

 정적언어라는 것은 위에서 언급한 '타입' 즉 자료형을 컴파일 시에 결정하는 것 입니다. 우리가 잘 아는('이름을 잘 아는') C, C#, C++, Java 등의 언어가 있습니다. 이들 언어는 변수에 들어갈 값의 형태에 따라 자료형을 지정해주어야 합니다. 컴파일 시에 자료형에 맞지 않은 값이 들어있으면 컴파일 에러가 발생합니다.

[C Language]

int num = 1; // 컴파일 성공
float num2 = 1.03; // 컴파일 성공
bool num3 = 1; // 컴파일 에러

장점 : 컴파일 시에 타입에 대한 정보를 결정하기 때문에 속도↑ , 타입 에러로 인한 문제점을 초기에 발견할 수 있어 타입의 안정성↑





동적언어

 요즘 많이들 쓰시는 JavaScript, Ruby, Python, SmallTalk 등이 바로 동적언어입니다. 동적 타입 언어의 자료형은 컴파일 시 자료형을 정하는 것이 아니고 실행 시에 결정합니다. 다음과 같이 타입 없이 변수만 선언하여 값을 지정할 수 있습니다.

[Python]

num1 = 10;
name = "Evan Hwang"


장점 : Run time까지 타입에 대한 결정을 끌고 갈 수 있기 때문에 많은 선택의 여지가 있습니다.
단점 : 인터프리터 언어는 배우기는 쉬우나 실행 도중에 변수에 예상치 못한 타입이 들어와 Type Error 를 뿜는 경우가 생길 수 있습니다. 잘 생각해서 사용해야합니다.


반응형
저작자표시 (새창열림)
에반황
에반황
"어른이면서 애이기도 하고 싶다."
에반황
에반, 어른반
에반황
전체
오늘
어제
  • 전체보기 (118)
    • About (1)
    • Backend (5)
      • Django (3)
      • Spring (2)
    • Database (2)
      • 아키텍처 (0)
      • SQL (0)
      • Redis (2)
      • 코딩 테스트 (0)
      • 요구 사항 해결 (0)
    • Infra, Cloud (0)
      • AWS (0)
      • GoCD (0)
      • Docker (0)
      • Kubernetes (0)
      • Mesos Marathon (0)
    • Basic (34)
      • C (1)
      • C# (4)
      • C++ (1)
      • Java (9)
      • Javascript (6)
      • Typescript (5)
      • GO (0)
      • Python (4)
      • 프로그래밍 기초 (1)
      • 게임 디자인 패턴 (1)
      • 운영체제 (0)
      • 알고리즘 (2)
      • 자료구조 (0)
    • Computer Science (0)
    • Frontend (74)
      • Swift (1)
      • Unity (31)
      • Android (13)
      • Vue.js (2)
      • Phaser (1)
      • Cocos2D JS (2)
      • Cocos Creator (16)
      • Facebook Instant Game (8)
반응형

인기 글

최근 댓글

hELLO · Designed By 정상우.v4.2.2
에반황
정적언어(타입)과 동적언어(타입)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.