자바 프로그래밍이란? : 자바(를 이용해서 컴퓨터) 프로그램을 만드는 것

 

1. 프로그램은 무엇입니까?

2. 왜 자바를 이용합니까?

 

1. 프로그램은 무엇입니까?

:“목적하는 것을 이루기 위한 순서를 미리 작성해 놓은 것”



1.1 컴퓨터 프로그램은 무엇입니까?

: 컴퓨터를 이용해서 “목적하는 것을 이루기 위한 순서를 미리 작성해 놓은 것”

 

1.2 컴퓨터란 무엇입니까?

: 계산기? <-> 컴퓨터: 프로그래밍이 가능한 계산기

 

1.3 컴퓨터를 이용하는 방법은 어떻게 되나요?

: 컴퓨터가 가지고 있는 계산기 기능을 이용해서 원하는 계산식을 얻는 것.

 

1.4 스위치 조작 방법은?

0과 1을 이용해서 조작을 할 텐데

 

1.5 스위치 조작을 대신할 수 있는 방법은 없는지?

: 번역기를 거쳐서 0과 1로 만든다.

 

1.6 처음 만든 번역기의 형태는 어셈블리어를 번역하는 번역기였다. 어셈블리어란?

: 기계 장치의 내장된 기능에 대한 명칭

 

1.7 2세대 번역기가 또 있다고 한다. 종류는 크게 컴파일러와 인터프리터로 나누어 볼 수 있는데… 기존 1세대 번역기(어셈블러)에서 2세대 번역기가 나온 이유는 무엇인가?

: 장치가 달라질 경우에 장치에 맞게 프로그램을 다시 작성해야 하는 불편함을 없애기 위해




운영체제란?

DJ->CD/LP판 옮겨서 실행해주는 사람

DJ가 사라졌다. 왜? DJ 역할(음악을 틀어주는 역할)을 누군가가 대신해주게 되었다. 

: DJ의 역할을 대신해주는 기계란? 주크박스

컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공.


컴퓨터의 운영방법

컴퓨터 테이프

 


운영체제의 구현 기술 

: 사용자 인터페이스 : shell (bsh(bash), dos->윈도우 탐색기)

  커다란 보조기억 장치





1.8 2세대 번역기인 컴파일러와 인터프리터는 어떤 차이가 있으며 어떤 경우에 인터프리터를 사용하는가?

차이: 번역하는 순서?(x), 중간 과정을 생략하고 안생략하는 차이(x)

         번역만 하느냐-전문 번역기 / 실행하면서 번역을 하느냐-실행기(필요에 따라서 번역)

REPL(Read–eval–print loop - Wikipedia)의 필요성이 인터프리터를 만들게 되었다.

 

인터프리터 언어는 두 가지 큰 단점(소스코드/실행속도)이 있음에도 요즘 그것이 확산되는 이유는?

아마도 다른 장점의 필요성이 단점을 누르는 것 아닌가?

: 파이썬(범용플랫폼)/자바스크립트/…

“문법이 쉬워서? 다양한 뭐든지 약간 쉽게 만들 수 있다.”

“멀티플랫폼”/배열을 정렬(기준? 데이터 구조?  p.x > p.x ) / 

 

1.9 자바의 탄생 배경이 WORA를 구현하기 위해 태어났기

: Write Once Run Anywhere(Write once, run anywhere - Wikipedia)

 

2. 왜 자바를 이용합니까?

 

2.1 왜 자바를 이용해서 컴퓨터 프로그램을 만듭니까?

: WORA 때문에

2.2 탄생배경

 

2.3 WORA를 위해서 자바 플랫폼을 새로 만들었다.

자바 플랫폼은 어떤 역할을 하는건가요?

 

1) 플랫폼이란

: 프로그램이 운영되기 위한 기반

2) 자바 플랫폼의 특징은?

기존 플랫폼이 없는 것도 아닌데 굳이 자바 플랫폼을 만든 이유는?

:  WORA 때문에 .. 돼지코를 구현하고 있는 플랫폼

 

2.4 번역기도 인터프리터와 컴파일러 두 가지를 사용한다.

컴파일러와 인터프리터 중에 하나만 사용하면 될텐데…

왜 굳이 두 가지 번역기를 사용하는가?

: 성능과 WORA 두 마리 토끼를 잡으려고 했다.

자바는 꼭 두 가지를 사용해야만 하나요? 한 가지만 사용해도 되나요?

: 한가지만 사용해도 되죠..- 인터프리터만 사용해도 된다.

 

반만 번역해서 반은 실행할 때 번역한다.

반만 번역한 결과물을 우리는 무엇이라고 하는가?

: 중간코드, 의사코드, 슈도코드, 바이트코드,.......



3 자바의 계보

언어적인 특징

 

jdk -> 컴파일 -> 실행

 

3세대 프로그래밍 언어

 

1. 값(데이터형식)

값의 종류 : 정수, 실수, 문자, 부울

 

정수의 표현

: 진수에 따른 값의 표현 -> 10진법, 16진법, 8진법, 2진법

: 크기에 따른 값의 표현 -> 4바이트(기본크기), 8바이트 : 35L(대/소문자 안가림)

실수의 표현

: 소수점에 따른 값의 표현 -> 234.12, 지수표현으로 바꾸면 2.3412e2

: 크기에 따른 값의 표현 -> 4바이트 : 34.23F , 8바이트(기본크기) : 34.23

 

2. 값의 형식명

정수의 형식명 

: byte, short,  int, long

실수의 형식명

: float, double

 

23->정수->4바이트 크기

:  2바이트 크기의 정수로 사용하고 싶다. -> (short)23 : 명식적인 형식 변환

 

+ Recent posts