객체 지향 프로그래밍
변수의 데이터 타입
간결하고 편리함
어려운 표현이 적어서 코드의 내용 로직을 이해하기 쉽다
배우기 쉬워서 작은 사이즈의 프로그램을 만들기 적합
컴퓨터적 구조가 생략되서 실행속도가 조금 느림
실행 속도에 민감하지 않은 프로젝트에 사용
Dynamic typing 언어는 간편함과 편리함을 추구하며, 컴퓨터적 구조를 생략하기 때문에 코드의 내용(로직)이 눈에 잘 들어오고 사람이 코드를 이해하기 편해서 학습하기가 쉽습니다.
다만 컴퓨터적 구조를 생략하기 때문에 실행 속도에 민감한 곳이나 성능이 좋지 않은 환경에서는 활약하기 힘듭니다.
명확하고 정교한 언어 추구
컴퓨터적 구조가 눈에 보임
제약이나 규칙이 많아서 실수를 방지하고 체계적으로 코드 작성 가능
체계적이라서 사람이 협업해야하는 프로젝트에 적합
컴퓨터적 구조를 많이 적어서 실행 속도가 빠름
Static typing 언어는 안정성과 정교함을 추구하며, 컴퓨터적 구조를 코드에 적어주기 때문에 코드의 구조가 눈에 잘 들어오지만 코드가 복잡해져서 배우기 어렵습니다.
다만 코드의 컴퓨터적 구조 덕분에 컴퓨터가 고민을 덜 하게 되고, 실행 속도가 중요한 곳에서 활약할 수 있습니다. 이런 특징을 살려 Static typing 언어는 임베디드, 실시간 투자, 인공 지능 분야에서 활약하고 있습니다.
Dynamic typing | Static typing |
---|---|
코딩 속도가 빠르다 | 코딩 속도가 느리다 |
실행 속도가 느리다 | 실행 속도가 빠르다 |
코드의 내용이 눈에 잘 들어온다 | 코드의 구조가 눈에 잘 들어온다 |
배우기 쉽다 | 배우기 어렵다 |
혼자서 빠르게 하는, 작고 단순한 프로젝트에 적합 | 여러 사람이 협업하는, 크고 복잫반 프로젝트에 적합 |