JAVA/java

[JAVA] 01. 자바 시작

saniii 2020. 9. 21. 00:27

정리...자꾸 하다보면 늘겠지??

..................................................................................................................................................................................................................................................

 

컴퓨터는 C, C++, JAVA와 같은 고급 언어로 작성된 프로그램을 직접 처리할 수 없기 때문에

기계어 코드로 변환하는 과정이 필요하다. ( -> 컴파일

 

자바의 소스 프로그램 확장자 == . java

. java 파일을 자바 전용 컴파일러에 의해 . class 파일로 컴파일되며 

이 클래스 파일은 *자바 가상 기계(JVM)에 의해 실행된다.

(*JVM : 서로 다른 플랫폼에서 자바 프로그램이 실행되는 동일한 환경을 제공, JVM은 플랫폼마다 다름-플랫폼 종속적)

 

..................................................................................................................................................................................................................................................

 

가장 먼저 사용된 *고급언어는 C이며 

(*고급언어 : 기계와 사람 중 사람이 이해하기 쉬운 프로그램 언어를 말한다. )

자바 이전의 고급언어의 ( ex : C, C++) 컴파일러는 기계어 코드로 변환할 때

프로그램이 실행될 대상 컴퓨터의 CPU와 운영체제에 종속적인 코드로 변환된다.  

 

즉,

소스 프로그램이 Intel CPU에 리눅스가 설치된 환경에서 실행되도록 컴파일 되었다면 

그 기계어 코드는 Intel CPU에 윈도우가 설치된 컴퓨터에서는 실행되지 않는다.

또한, 다른 CPU에 리눅스가 설치된 경우에도 실행되지 않는다.

이런 언어들의 특징을 '플랫폼 종속성' 이라고 한다.

 

이러한 불편함을 보완하기 위해 고안된 언어가 바로 JAVA

자바는 운영체제나 하드웨어에 상관없이 자바 가상 기계(JVM)만 있으면

자바로 작성된 프로그램은 모두 동일한 실행결과를 얻을 수 있다.

플랫폼 독립성  /  WORA (Write Once Run Anywhere)

 

자바 프로그램은 여러 소스 파일로 나누어 작성하면 자바 컴파일러가 각 소스 파일을 컴파일하여 *바이트 코드로 이루어진 클래스 파일을 생성하고 이 클래스 파일은 JVM을 통해서 실행된다.

(*바이트 코드 : JVM에서만 실행되는 기계어로 어떤 CPU와도 관계없는 바이너리 코드)

따라서 이 바이트 코드와 JVM 덕분에 자바는 플랫폼 독립성을 가진다.

 

..................................................................................................................................................................................................................................................

 

하나의 실행 파일로 묶는 과정(링크)이 없으므로 JVM에서 한 클래스 파일을 실행 중 다른 클래스 파일이 필요하면

JVM은 그때서야 그 클래스 파일을 로딩하고 실행한다.

따라서 적은 용량의 메모리를 가진 컴퓨터에서도 큰 용량의 JAVA 프로그램을 실행할 수 있다.

 

..................................................................................................................................................................................................................................................

 

+ 자바 소스파일 만들기 (이클립스 이용) +

 

1. 이클립스에서 자바 소스 파일 만들기 (1) _ 자바 프로젝트 생성
2. 이클립스에서 자바 소스 파일 만들기 (2) _자바 프로젝트 생성

 

3. 클래스 생성하기

생성한 자바프로젝트의 하위 폴더 src에 클래스 파일을 생성한다.   

(원래는 package 설정하는데 이건 나중에 다시 정리하자 )

 

 

4. 클래스 생성하기 _ 클래스명 지정하고 클래스 생성하기

    (1. 다음 보기를 선택하면 main 메서드가 자동으로 생성된다.)

(2. 클래스의 이름과 소스 파일의 이름이 일치해야 한다.)  

(3. 클래스 명은 대소문자를 구분하며 대문자로 시작한다.)

 

5. 실행하기

                                  실행할 코드를 작성했다면 'ctrl + F11' 을 눌러 파일을 실행한다.                                      코드의 실행 결과는 아래의 console 창에서 확인할 수 있다.   

 

..................................................................................................................................................................................................................................................

 

+ 마지막 정리 - 자바의 특징

 

                                                      # 플랫폼 종속성

                                                      # 객체 지향 ( OOP )

                                                         - 캡술화, 상속, 다형성을 지원

                                                      # 클래스로 캡슐화

                                                      # 가비지 컬렉션

                                                      # 쉬운 프로그램 작성

                                                      # 멀티스레드