개발 환경 설정
IDE - 인텔리제이 vs 이클립스
- 자바 프로그램을 개발할 때는 인텔리제이 또는 이클립스 사용, 인텔리제이가 주력
- 자바로 개발하는 데부분 메이저 회사도 인텔리제이 사용
OS - 윈도우 vs Mac
- 자바로 개발하는 대부분 메이저 회사는 Mac 사용
- 윈도우를 사용해도 무방함
자바 프로그램 실행
public class HelloJava {
public static void main(String[] args) {
System.out.println("hello java");
} }
주의
자바 언어는 대소문자를 구분한다. 대소문자가 다르면 오류가 발생할 수 있다.
실행 결과
hello java
public class HelloJava
- HelloJava를 클래스라 한다. 클래스의 개념을 학습해야 이해할 수 있다. 클래스는 뒤에서 학습한다.
- 지금은 단순히
HelloJava.java
라는 파일을 만들었다고 이해하면 된다. - 파일명과 클래스 이름이 같아야 한다.
{}
블록을 사용해 시작과 끝을 나타낸다.
public static void main(String[] args)
main
메서드- 자바는
main(String[] args)
메서드를 찾아서 프로그램을 시작한다. - 시작점이라고 이해하면 된다.
System.out.println("hello java");
System.out.println();
값을 콘솔에 출력하는 기능- 문자열은
""
를 사용한다;
주석
- 한 줄 주석
//
기호로 시작
- 여러 줄 주석
/**/
자바란
자바 표준 스펙
자바는 표준 스펙
과 구현
으로 나눌 수 있다.
- 자바 표준 스펙
- 자바는 이렇게 만들어야 한다는 설계도이며, 문서다.
- 이 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 자바를 만든다.
- 자바 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리된다.
- 다양한 자바 구현
- 여러 회사에서 자바 표준 스펙에 맞추어 실제 작동하는 자바 프로그램을 개발
- 각 장단점이 분명함 ex) Amazon Corretto는 AWS에 최적화
- 각 회사들은 다양한 OS의 자바도 함께 제공
다양한 자바 구현 (opens in a new tab)
변경에 용이
- 자바 구현들은 모두 표준 스펙에 맞도록 개발되어 있다. 따라서 오라클 Open JDK를 사용하다가 Amazon Corretto 자바로 변경해도 대부분 문제없이 동작한다.
참고
학습 단계에서는 어떤 자바를 사용하든 크게 상관 없음
컴파일과 실행
자바 프로그램은 다음과 같은 컴파일 실행단계를 가짐
Hello.java
와 같은 자바 소스코드 작성- 자바 컴파일러를 사용해 소스코드 컴파일
- 자바가 제공하는
javac프로그램
사용 .java
->.class
파일 생성- 자바 소스코드를 바이트코드로 변환하며 자바 가상머신에서 더 빠르게 실행될 수 있게 최적화하고 문법오류 검출
- 자바가 제공하는
- 자바 프로그램 실행
- 자바가 제공하는
java
라는 프로그램 사용 - JVM이 실행되며 프로그램 작동
- 자바가 제공하는
IDE와 자바
- 인텔리제이는 내부에 자바를 편리하게 설치하고 관리할 수 있는 기능을 제공
- 이 기능을 사용하면 인텔리제이를 통해 자바를 편리하게 다운받고 실행할 수 있음
참고
자바를 OS에 직접 설치해도 되지만, 처음 프로그래밍을 시작하는 사람에게 이 과정은 매우 번거롭다. 자바를 직접 설치하는 경우 환경 설정이 복잡하다. 그래서 자바를 설치하다가 잘 안되어서 시작도 하기 전에 포기하는 경우가 많다. 자바 언어를 배우는 단계라면 인텔리제이를 통해 자바를 설치하는 정도면 충분하다. 자바를 직접설치하고 실행하는 내용은 별도로 다룬다.
인텔리제이를 통한 자바 컴파일, 실행 과정
- 컴파일
- 자바 코드를 컴파일 하려면
javac
라는 프로그램을 직접 사용해야 하는데, 인텔리제이는 자바 코드를 실행할 때 이 과정을 자동으로 처리한다. - 인텔리제이 화면에서 프로젝트에 있는
out
폴더에 가보면 컴파일된.class
파일이 있는 것을 확인할 수 있음
- 자바 코드를 컴파일 하려면
- 실행
- 자바를 실행하려면
java
라는 프로그램을 사용해야 한다. 이때 컴파일 된.class
파일을 지정해주면 된다. - 인텔리제이에서 자바 코드를 실행하면 컴파일과 실행을 모두 한번에 처리한다.
- 인텔리제이 덕분에 매우 편리하게 자바 프로그램을 개발하고, 학습할 수 있다.
- 자바를 실행하려면
자바와 운영체제 독립성
일반적인 프로그램
- 일반적인 프로그램은 다른 운영체제에서 실행할 수 없다.
- 예를 들어서 윈도우 프로그램은 MAC이나 리눅스에서 작동하지 않는다.
- 왜냐면 윈도우 프로그램은 윈도우 OS가 사용하는 명령어들로 구성되어 있기 때문이다. 해당 명령어는 다른 OS와는 호환되지 않는다.
자바 프로그램
- 자바 프로그램은 자바가 설치된 모든 OS에서 실행할 수 있다.
- 자바 개발자는 특정 OS에 맞추어 개발을 하지 않아도 된다. 자바 개발자는 자바에 맞추어 개발하면 된다. OS 호환성 문제는 자바가 해결한다. Hello.class와 같이 컴파일된 자바 파일은 모든 자바 환경에서 실행할 수 있다.
- 윈도우 자바는 윈도우 OS가 사용하는 명령어들로 구성되어 있다. MAC이나 리눅스 자바도 본인의 OS가 사용하는 명령어들로 구성되어 있다. 개발자는 각 OS에 맞도록 자바를 설치하기만 하면 된다.
자바 개발과 운영환경
- 개발할 때 자바와 서버에서 실행할 때 다른 자바를 사용할 수 있다.
- 개발자들은 개발의 편의를 위해서 윈도우나 MAC OS를 주로 사용한다.
- 서버를 주로 리눅스를 사용한다. 만약 AWS를 사용한다면 Amazon Corretto 자바를 AWS 리눅스 서버에 설치하면 된다.
- 자바의 운영체제 독립성 덕분에 각각의 환경에 맞추어 자바를 설치하는 것이 가능하다.