본문 바로가기
Programming/C

프로그래밍 언어의 종류와 특징

by 코딩여걸 2023. 2. 28.
728x90

📝 프로그래밍 언어의 개념

프로그램(Program) : 명령어로 작업 순서를 지시하는 것

 

프로그래밍 (Programming) : 프로그래밍 언어를 사용하여 프로그램을 작성하는 행위

 

프로그래머 (Programmer) : 프로그램을 작성하는 사람

 

프로그래밍 언어 (Programming language) : 프로그램을 작성하기 위해 만든 언어 (사람과 컴퓨터가 대화할 때 쓰는 언어)

 

- 자연어 : 우리가 일상생활에서 사용하는 한글이나 영어, 중국어

- 프로그래밍 언어 : 컴퓨터에서 사용하는 언어

 

📝 프로그래밍 언어의 종류

< 저급 언어 >

- 컴퓨터가 이해할 수 있도록 만든 기계 중심의 언어

- 프로그램 실행 속도가 빠르고 컴퓨터 기종에 따라 다양하며, 기종끼리 호환되지 않는다.

 

기계어 (machine language)

- 프로그램을 '0'과 '1'의 2진수를 사용하여 작성 (0과 1로만 구성됨)

- 컴퓨터의 CPU가 읽어서 실행할 수 있는 0과 1로 이루어진 명령어의 조합

ex) 10110000 01100001

어셈블리어 (assembly language)

- 읽기와 사용이 어려운 기계어를 1:1로 대응하는 언어로 사람이 이해하기 쉽게 기호화한 언어 (기계어와 1:1로 대응)

- 각 명령어에 대해 사람이 알기 쉬운 니모닉 기호(mnemonic symbol)를 사용하여 컴퓨터의 행동을 제어할 수 있도록 한 것

ex) mov al, 061h

 

< 고급 언어 >

- 일상에서 사용하는 자연어의 형태로 배우기 쉽고 컴퓨터 기종에 관계없이 호환 가능

 

절차 지향 언어 (producture oriented language)

- 컴퓨터가 수행하는 실행 순서를 하나씩 순서대로 나열하는 프로그래밍 언어

 

객체 지향 언어 (object oriented language)

- 객체 지향 프로그램 환경에서 사용하는 프로그램 언어

- 객체 지향 프로그램이란 객체를 만들 수 있는 프로그램을 의미, 객체는 속성과 행위로 정의될 수 있다.

 

✏️ 속성과 행위

객체 속성(AND) 행위(AND)
속성(OR) 실체(데이터) 속성(변수)
행위(OR) 동작(절차, 방법, 기능) 기능(메소드)

 

✏️ ex) 동물이라는 객체에 대한 속성과 행위

- 동물 -> 객체(속성과 행위)
- 무게, 길이, 나이 -> 속성(데이터)
- 숨쉰다, 달린다, 날아간다, 먹는다 -> 행위(함수)

 

클래스(class) : 객체 가운데 같은 속성과 행위를 가진 것으로 분류한 것

이를 상속(inheritance) 개념으로 분류하면 다음과 같다.

 

✏️ 상속 개념의 객체 분류

객체 상속 개념의 분류
클래스 - 동물 : 어류, 조류, 포유류
상위 클래스 - 동물 : 어류, 조류, 포유류 클래스의 상위 클래스
- 어류 : 고등어, 갈치, 꽁치의 상위 클래스
하위 클래스 - 어류, 조류, 포유류 클래스 : 동물의 하위 클래스
- 독수리, 참새, 백조 : 조류의 하위 클래스

 

사용자 중심 언어

- 생산성을 증가시켜 주는 고생산성 언어

1. 문제 해결형 언어

2. 온라인 환경에서 응용 개발을 지원하는 응용문제를 빠르게 구현시키기 위한 언어

3. 디버깅(debugging)을 최소화하기 위한 언어

 

📝 프로그래밍 언어의 특징

C 언어의 이해

< C 언어의 특징 >

1. 문법이 간결하고 프로그램 개발에 필요한 기능만을 제공

2. 고급 언어이지만 어셈블리어나 기계어만 가능한 하드웨어를 제어하기 때문에 고급 언어와 저급 언어의 특징을 동시에 갖추고 있음

3. 컴파일만 다시 하면 다른 운영 체제에서 실행되는 프로그램을 쉽게 만들 수 있고 다른 언어에 비해 이식성이 뛰어남

4. 컴파일한 크기가 작고 실행 속도가 빨라 효율성이 높음

5. 과학 계산을 비롯해 그래픽 프로그램, 마이크로프로세서, 임베디드 시스템(embedded system) 등 대부분의 응용 프로그램을 개발할 수 있기 때문에 사용 범위가 넓음

728x90

댓글