프로그래밍 언어
개념
- 인간이 컴퓨터와 의사소통하기 위해 내리는 명령으로, 프로그램을 처리하도록 기술한 언어
종류
- 저급언어
- 기계여 : 2진수
- 어셈블리어 : 기계어를 기호로 표현
- 고급언어 : 인간이 쓰는 언어(일상 언어에서 사용하는 표현을 적용 가능)
ex) C언어, 포트란, 자바
발전
포트란(1950) -> 코볼(1960) -> C언어, 파스칼(1970) -> 베이직 언어(1980) -> 객체지향언어(1990) -> 델파이, 쿼리전용언어(2000 이후)
요구사항 분석
- 사용자의 필요를 파악하고 프로그램을 통해 해결할 문제가 무엇인지 확인하는 단계
프로그램 설계
- 코딩을 시작할 때 사용할 논리를 그려내는 단계
- 알고리즘 설계라고도 함
알고리즘 특성
- 입력 : 외부에서 제공되는 자료가 0개 이상 있어야 함
- 출력 : 적어도 1개 이상의 결과를 만들어야 함
- 명백성 : 각 명령어는 의미가 모호하지 않고 명확해야 함
- 유한성 : 한정된 수의 단계 뒤에는 반드시 종료
- 유효성 : 모든 명령은 실행 가능한 연산이어야 함
제어흐름 유형
- 순차구조 : 코드 순서대로 실행
- 선택구조 : 다음에 무엇을 해야 하는지를 결정하는 분기
- 반복구조 : 조건이 만족하지 않을 때까지 반복
코딩
- 프로그래밍 언어로 프로그램을 작성하는 단계
컴파일
- 고급언어를 저급언어로 변환하는 단계
- 원시코드(고급언어) -> 컴파일러 -> 목적코드(기계어) -> 로더 -> 메모리에 목적코드 로드 -> 실행 -> 결과값
인터프리터
- 고급언어를 하나씩 읽어 번역 및 실행
- 원시코드 및 입력자료 -> 인터프리터 -> 결과값
하이브리드
- 컴파일러와 인터프리터를 함께 사용
디버깅
- 프로그램이 포함하는 모든 오류를 찾아내 제거하는 단계
오류
- 구문 오류 : 틀린 문자를 입력 또는 문법에 맞지 않는 명령문 사용
- 논리 오류 : 제어 구조의 부적절한 사용
테스트
- 알파 테스트 : 개발자가 개발 환경에서 테스트
- 베타 테스트 : 고객이 고객 환경에서 테스트
절차지향언어
- 프로그램 코드가 순서대로 실행되는 언어
ex) 파스칼, 코볼, C
객체지향언어
- 데이터와 기능을 묶어 캡슐화시킨 후 메시지를 전달하여 일을 처리하는 언어
ex) C++
'🔐 [정보보안] 모의해킹 침해대응 전문가 취업캠프 > 컴퓨터 공학' 카테고리의 다른 글
[컴퓨터 공학] 컴퓨터 구조 (0) | 2023.08.10 |
---|---|
[컴퓨터 공학] 정보의 표현 (0) | 2023.08.09 |
[컴퓨터 공학] 정보 보안 (0) | 2023.08.09 |
[Packet Tracer] 네트워크와 인터넷 (0) | 2023.08.08 |
[컴퓨터 공학] 운영체제 (0) | 2023.08.08 |