본문 바로가기

JAVA

자바 소개

학습목표 

자바 언어의 특징을 설명할 수 있나요.

자바 프로그램이 실행되는 과정을 설명할 수 있나요?

자바를 설치할 수 있나요?

자바를 명령어 버전으로 컴파일하고 실행할 수 있나요?

이클립스를 이용하여 자바 프로그램을 작성할 수 있나요?

 

1.1 자바의 역사

자바는 현재 컴퓨터 업계에서 가장 많이 사용되는 프로그래밍 중 하나.

자바는 방대한 라이브러리와 다양한 실행 환경을 가지고 있는 하나의 거대한 플랫폼.

자바를 사용하면 현대적이고 쾌적한 문법 구조 사용 가능

그래픽, 네트워킹, 데이터베이스 쉽게 구현

 

자바 -> 안드로이드 어플리케이션

자바스크립트 -> 웹 페이지 제작 언어

 

제임스 고슬링이 창시 -> 가정용 전자제품에 사용할 컴퓨터 언어를 설계하다가 만들어짐.

그래서 언어 간결 CPU 의존성 없는 언어.

그래서 가상 세계 개념을 가져옴.

자바는 객체지향 프로그래밍 언어로 설계됨.

 

1.2 자바의 특징

자바의 특징은 여러가지 있지만 그 중 가장 중요한 것은 객체 지향적  이라는 것.

또한 컴퓨터 구조에 중립적임. -> 자바는 CPU로 운영 되는 것이 아니라 자바 가상 기계라는 특수한 가상 소프트웨어에서 실행이 됨. 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트 코드라는 특수한 이진 파일로 변환함. 그럼 자바 가상 세계가 이 바이트 코드를 한 줄씩 읽어서 해석한 후 실행 됨. 

장점 : 자바 가상 세계가 있는 시스템에서는 어디서나 실행 가능

 

특징 1. 객체 지향적

객체 지향 : 객체별로 코드를 작성 -> 객체들을 조합 -> 프로그램 완성

장점 : 작성된 코드 재사용 가능 -> 신뢰성 있는 프로그램.

 

특징 2. 멀티스레딩 지원 (다루지 않는다)

멀티스레딩 : 여러 가지 작업을 동시에 실행

 

1.3 자바의 용도

 (다시 보기)

 

1.4 가상 기계

자바와 다른 언어의 차이점 : 윈도우, 리눅스, 맥 어떤 곳에서도 실행 가능.

하드웨어나 운영체제 종류 상관 없이 동일한 모습으로 실행 가능

 

C언어 : 윈도우에서 컴파일된 실행 파일 -> 리눅스나 맥에서 실행 X

(C프로그램 -(컴파일러)-> 기계어)

자바 : 윈도우에서 컴파일된 실행 파일 -> 리눅스나 맥에서 실행 O

(자바 프로그램 -(컴파일러)-> 바이트코드)

 

*자바 프로그램 실행 과정

자바는 두 단계로 나누어서 컴파일하고 실행함.

다른 언어 컴파일러 : 소스 파일 처리 후 그 컴퓨터의 기계어를 생성

자바 언어 컴파일러 : 바이트코드 생성 (자바 프로그램을 가상 기계의 명령어로 변환) -> 자바가상 기계에서 한 줄씩 해석(가상 기계의 명령어를 실제 기계의 명령어로 변환)

장점 : 어떤 컴퓨터든 자바 가상 기계만 있으면 바이트 코드를 다시 컴파일 할 필요가 없음.

 

가상 기계 : 실제가 아닌 가상 컴퓨터 솦웨 이다. 컴퓨터에서 가상 기계 솦웨를 실행하면 가상 기계로 간주.

* 단, 네이티브 코드(기계의 명령어로만 구성)보다 속도는 느림. 하지만 요즘은 거의 근접할 정도로 빨라짐.

 

중간점검검

자바 프로그램의 실행 과정을 설명해보자 : 자바 소스 -> 바이트 코드 -> 컴파일러 -> 자바 가상 세계 -> 컴파일러 -> 컴퓨터 기계어

자바 컴파일러가 소스 프로그램을 컴파일한 것을 무엇이라고 부르는가? : 바이트코드

자바가 어떤 컴퓨터에서도 실행이 가능한 근본적인 원인은 무엇인가? : 자바 가상 기계

바이트 코드를 해석하여 실행하는 소프트웨어를 무엇이라고 하는가? : 자바 가상 기계

 

 

1.5 자바의 종류와 버전

SE만 보면 된다. 

 

1.6 JDK설치

JDK의 폴터

p.22의 표 1.1 참고

 

1.7 명령어 버전 JDK 사용

public class Hello {

	public static void main (String[] arge) {
    	System.out.println("Hello World!");
    }
}

public class Hello -> 클래스 Hello시작. 클래스란 자바 프로그램의 빌딩 블록

public static void main (String[] arge) -> 메소드 main()이 시작. 메소드란 특정 기능을 수행하는 코드. c언어의 함수라고 보면 됨.

System.out.println("Hello World!"); -> System.out은 객체이고, 이 객체는 println(), print()라는 많은 메소드가 있다.

 

문제 p.42

1번 - 2, 4

2번 - 운영체제 CPU 상관 없이 실행을 시킬 수 있는 것

3번 - 바이트 코드를 자바 가상 기계가 한 줄씩 해석 후 컴퓨터로 컴파일하기 때문

4번 - 가상 기계는 실제로 존재하는 것이 아니라 실행이 가능한 가상 소프트웨어를 뜻함. 가상 기계로 한 번 컴파일을 하면 다른 컴퓨터에서도 컴파일러 할 필요 없이 동일한 실행 화면을 만들 수 있음

5번 - ㅇㅇ

6번 - java.exe

7번 - 안 함

8번 - 안 함

9번 - 4번

10번 - Test 이름으로 파일 저장. This is a Test 출력

11번 - Hello 모름

12번 - 모름

'JAVA' 카테고리의 다른 글

객프 10주차  (0) 2023.11.14
객프 10주차  (0) 2023.11.06
Power JAVA 개정3판 CHAPTER01 답  (0) 2023.10.30
[JAVA] 변수와 타입  (0) 2023.08.23
[JAVA] 코드 용어 이해  (0) 2023.08.17