본문 바로가기

책 & 강의3

02. 자바와 절차적/구조적 프로그래밍 02. 자바와 절차적/구조적 프로그래밍 자바 프로그램 개발 및 구동 자바의 특징 현실 세계에서 소프트웨어, 즉 프로그램은 개발자가 개발 도구를 이용해 개발하고 운영체제를 통해 물리적 컴퓨터인 하드웨어 상에서 구동된다. 자바가 만들어 주는 가상 세계도 이와 마찬가지다. 자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상 컴퓨터인 JVM 상에서 구동된다. 자바는 위와 같은 구조에서 프로그램이 실행된다. 이것은 일종의 가상 컴퓨터 세계를 만들어서 그곳에서 프로그램을 실행하는 것으로 해석할 수도 있다. JDK : 소프트웨어 개발 도구 : 자바 번역기 + JRE(자바 실행기 + JVM) JRE : JVM용 운영체제 : 자바 실행기 + JVM JVM : 가상의 컴퓨터 자바 프로그램이 배포되는 방.. 2023. 3. 6.
01. 사람을 사랑한 기술 01. 사람을 사랑한 기술 기술 발전의 흐름 - 언어의 변천사 개요 기술은 계속해서 사람 친화적으로 발전한다. 그래서 기술이 발전할 때마다 어떤 점에서 사람에게 편리하게 되었는지를 중점으로 살펴본다. 즉, 이전 기술에서 사람에게 불편했던 점과 이것이 어떻게 개선되었는가를 살펴보면 좋을 것 같다. 기계어 초창기 컴퓨터는 0과 1로 구성된 기계어만을 이해할 수 있었다. 이는 곧바로 기계가 이해할 수 있는 언어만을 이용해서 컴퓨터와 소통해야만 한다는 것이다. 컴퓨터는 기본적으로 논리회로로 이루어져 있다. 그래서 이 논리회로를 조작하기 위해선 on, off의 의미를 가진 0과 1만으로 컴퓨터를 조작했어야 한다. 그러나 이것은 사람이 해석하기 어렵다는 단점이 있다. 또한 이때 당시에는 하드웨어마다 다른 기계어를 .. 2023. 3. 6.
프로그래밍 언어 간격 컴퓨터는 기본적으로 기계어만을 이해한다. 왜냐하면 컴퓨터는 부울 논리를 통해 설계된 전자 스위치 회로이기 때문이다. 이때 전자 스위치 회로는 데이터를 저장하는 장치의 구성으로 플립플롭이란 것을 사용한다. 이것은 전자 스위치의 on, off만을 이용해서 정보를 표현하는 기계이다. 이때 on, off가 각각 0과 1에 대응할 수 있기 때문에 모든 데이터는 2진수로 표현되며, 컴퓨터는 오직 2진수만을 처리할 수 있다. 즉, CPU는 플립플롭으로 구성된 RAM에 저장된 2진수만을 처리할 수 있다. 그리고 이러한 2진수 체계를 기반으로 만들어진 컴퓨터의 명령어를 기계어라고 한다. 그러나 이러한 기계어는 사람이 이해하기 어렵다. 따라서 인간과 컴퓨터 사이에는 간극이 존재한다. 번역사슬 기계어가 어렵다는 특성을.. 2023. 3. 6.