프로그램이란 무엇인가?
어떤 결과를 얻기 위한 행위들이 순서대로 진행되는 과정이다. 다이어트 프로그램은 살을 빼기 위해 순서대로 진행되는 과정을 기술한 결과물이고 정해진 다이어트 프로그램대로 프로그램을 진행하면 살이 빠질 것이다.
즉, 특정한 목적을 위해 컴퓨터에게 내리는 명령의 묶음이며 어떤 목적을 달성하는 과정을 상세히 순차적으로 기술한 것을 프로그램이라 한다. 카카오톡, 컴퓨터 게임, 인스타그램 같은 SNS는 물론 일상에서 사용하는 에어컨, TV, 핸드폰 같은 전자제품에도 프로그램이 이용되고 있으며 어떤 목적을 수행하는 프로그램을 만드느냐에 따라 전혀 다른 종류의 프로그램을 만들 수 있다.
컴퓨터 프로그램이란?
컴퓨터 안에 논리적인 기계라고 볼 수 있다. 컴퓨터 프로그램은 수동적으로 적혀진 명령어대로 작동한다. 사람이 컴퓨터에게 어떠한 특정작업(동영상보기, 음악 듣기, 문서작업 하기)을 시키고 싶을 때 컴퓨터가 해야 할 일들을 순차적으로 상세히 기술한 결과물이 있어야 하는데 이를 컴퓨터 프로그램이라고 설명 할 수 있다. 컴퓨터 프로그램이 한 줄 한 줄 실행 되면서 게임도 할 수 있게 되고, 동영상 편집도 할 수 있게 되고, 문서 편집도 할 수 있게 된다.
프로그램 언어란 무엇인가?
컴퓨터 프로그램을 만들 때 사용하는 언어이다. 기계에게 명령 또는 연산을 시킬 목적으로 설계되어 기계와 의사소통을 할 수 있게 해주는 언어를 뜻한다. 컴퓨터 프로그램을 만들면 프로그램 내용 대로 컴퓨터는 한 줄 한 줄 해석해서 컴퓨터에서 프로그램이 원하는 결과를 보여 준다. 프로그램 언어 하나하나가 컴퓨터가 어떻게 어떻게 하라는 명령어가 된다. 이때 사용하는 대표적인 프로그램 언어로 c언어, java, 파이썬, 자바스크립트 등이 있다.
우리가 미국 사람과 대화를 나누기 위해서 영어를 공부해야 하듯이 컴퓨터와 대화를 나누고 싶다면 프로그램 언어를 배워야 한다. 프로그램 언어는 현실세계의 언어처럼 하나만 존재하는 것이 아니고 여러 개 존재한다.
고급언어 저급언어란?
고급 언어는 사람이 알아보기 쉬운 언어이고 저급 언어보다 가독성이 높으며 다루기 간편하다는 장점이 있다. 컴파일러에 의해 저급 언어로 번역되어 실행된다. 대표적인 고급언어로는 JAVA, C# 등이 있다.
저급 언어는 기계장치인 컴퓨터가 알아볼 수 있도록 만든 컴퓨터를 위한 언어이다. 저급 언어로는 전류가 흐르는 상태인 ON은 숫자1, 전류가 흐르지 않는 상태인 OFF는0으로 표현하는 기계어와 기계어를 사람이 알 수 있는 문자 형식으로 표현한 어셈블리어가 있다.
컴파일러 란?
고급 언어를 0과 1로 이루어진 저급언어로 변환해 주는 프로그램을 의미한다. 보통 프로그래머가 고급언어로 프로그램을 작성하면서 컴파일러가 0과 1로 이루어진 저급언어인 기계어로 변환해준다. 그럼 기계장치에서 기계어를 이용해서 프로그램을 한줄 한 줄 읽어 동작시킨다. 기계장치는 0과 1만 이해할 수 있기 때문에 컴파일러를 통해서 기계어로 0과 1로 이루어진 저급 언어로 변경해준 것이다.
저급 언어는 0과 1로 이루어져있어서 사람이 프로그램하거나 이해하는 데는 어려움이 있다. 기계장치들은 0과 1로 이루어진 저급 언어만 이해할 수 있다. 따라서 프로그래머가 알아보기 쉬운 고급언어(자바)로 작성하면 컴파일러가 0과 1로 이루어진 기계어로 변환해줘 기계장치에서 동작할 수 있게 해 준다. 기계장치에서 동작시키려면 시키려면 반드시 0과 1로 이루어진 기계어로 변환해야 실행이 가능하다.
소프트웨어란?
컴퓨터 프로그램 언어로 만들어진 컴퓨터 프로그램으로 모니터 안에서 클릭하면 동작하는 다양한 프로그램들이다. 즉 컴퓨터 안에서 컴퓨터를 조작해서 사용자가 원하는 결과를 얻어내는 것을 목표로 하는 컴퓨터 프로그램이다. 하드웨어가 쇠붙이, 전기공학적 부품, 회로 등으로 구성되어 있다면 소프트웨어는 프로그램으로 구성되어 있다. 여러분들이 날마다 하는 게임, 브라우저, 메신저, 워드, 엑셀, PPT, 포토샵 등과 같이 컴퓨터 모니터 안에서 실행되고 있는 응용 프로그램을 말한다. 소프트웨어, 응용 프로그램, 컴퓨터 프로그램 다 같은 의미로 보아도 크게 문제가 없다.
하드웨어란?
우리 눈에 보이는 모니터 키보드 마우스 본체 등을 딱딱한 기계 장치를 의미한다. 즉 하드웨어는 컴퓨터의 육체이고 하나의 기계이다. 하드웨어는 물건이기 때문에 인터넷으로 다운로드할 수가 없다. 다운의 개념이 아닌 물품을 구매한다의 개념이 올바르다.
코드란?
컴퓨터 프로그램 언어로 작성해 놓은 결과물을 말한다. 컴퓨터 프로그램을 자바로 구현한 프로그램 결과물을 코드라 한다. 코드는 주로 실행 프로그램을 만드는 과정을 입력하는데 이용된다. 또, 사람들 사이에 알고리즘을 주고받는 방식으로 이용되기도 한다. 현대 소프트웨어 개발에서 기계어는 극히 일부 영역에서만 쓰이며, 대부분 고급언어로 된 소스 코드를 컴파일하여 개발한다.
알고리즘이란?
어떠한 행동을 하기 위해 만들어진 명령어들의 유한 집합이다. 컴퓨터 프로그램은 정교한 알고리즘들의 집합이라고 볼 수 있다. 수학이나 컴퓨터 과학에서 말하는 알고리즘은 반복되는 문제를 풀기 위한 작은 진행 절차라고 설명하기도 한다. 사람이 수동적으로 종이를 사용해 일정한 절차로 문제를 풀더라도 알고리즘에 해당한다. 다만 현대의 알고리즘은 컴퓨터의 등장과 함께 급속도로 발전하게 된 것이라고 설명할 수 있다.
코딩이란?
'코드를 작성하는 중’을 의미하며 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 말한다.
'개발자였던 것 > JAVA 기초' 카테고리의 다른 글
반복문 (0) | 2020.03.05 |
---|---|
순서도 (0) | 2020.03.03 |
연산자 (산술/대입/증감/비교/논리/비트/삼항) (0) | 2020.03.03 |
자바의 자료형 정리 (상수/변수/자료형) (2) | 2020.03.02 |
아스키코드와 유니코드 (0) | 2020.03.02 |