프로그래밍 언어는 사람의 말에 얼마나 가까운지에 따라, 고급언어 > 어셈블리어 > 기계어로 구분 된다.
Java는 이 중 고급 언어에 속하며 플랫픔 독립성 특성을 갖는다.
윈도우 - exe / 맥 - app / 리눅스 - sh 처럼 각 운영체제에서만 실행가능한 성격을 플랫폼에 종속적이라고 합니다.
Java는 동일한 class파일로 윈도우/맥/리눅스 등 어떤 환경에서도 실행 가능하다는 특성을 갖으며 이를 플랫폼에 대해 독립성 갖는다고 합니다.
Java의 이러한 특성은 JVM으로 인해 자바로 작성된 코드를 어떤 환경에서도 JVM이 각 플랫폼에 맞는 형태로 해석해주기 떄문입니다.
JVM
: Java Virtual Machine, 말 그대로 Java로 작성된 코드를 컴퓨터가 이해할 수 있는 기계어로 변환해주는 도구 이다.JRE
: Java Runtime Enviornment, Java로 작성된 프로그램이 실행가능한 환경을 말합니다.JDK
: Java Development Kit으로 자바를 이용해 프로그램을 개발하는데 필요한 도구를 모아둔 집단을 의미합니다.위 3가지의 개념은 JDK
⊃ JRE
⊃ JVM
의 포함관계를 갖습니다.
따라서 우리는 모두 포함하고 있는 JDK만 다운로드 받으면 됩니다!
.java
소스파일 생성.class
바이트 코드 파일 생성 (.java
파일 저장 시 자동으로 컴파일)JVM
이 메모리 할당main()
메서드 실행package 패키지;
public class 클래스명 {
public static void main(String[] args) {
내용~~;
}
}
package 패기지;
주석을 제외하고 패키지 선언부가 가장 먼저 와야합니다.
다만, 디폴트 패키지를 사용할 경우 패키지 선언은 생략됩니다.
패키지 내 디렉토리 구분은 .
(점)으로 구분합니다.
💡 패키지를 사용하는 이유
- 디렉토리 구조를 표현하고 해당 파일의 위치를 표시해주는 역할
- 소스파일 이름이 같은 파일이 있더라도, 패키지로 분리되어있으면 충돌하지 않습니다.
public class 클래스명 {
public static void main(String[] args) {
내용~~;
}
}
클래스 선언부에서 public
의 경우 접근제한자로 1개의 소스파일에서는 최대 1개의 public
을 사용할 수 있습니다.
해당 public
을 사요하는 클래스의 경우 클래스명이 소스파일 명과 동일해야합니다.
클래스 내부 구조에는, 필드, 메서드, 생성자, 이너 클래스만 올 수 있습니다.
💡 접근제한자를 생략하면?
위public
의 경우 한 파일에 한 클래스에만 사용할 수 있습니다. 접근제한자를 지정안한 클래스의 경우는default
라는 접근제한자로 지정됩니다.
$
(달러기호), _
(언더 스코어)public
클래스명은 반드시 소스코드명과 동일해야합니다.public static void main(String[] args) {
내용~~;
}
main()
메서드의 경우 프로그래밍 실행 시 가장 먼저 실행되는 메서드로, Java 프로그래밍 시 무조건 포함해줘야하는 메서드 입니다.
기본적인 콘솔 출력방법 입니다.
System.out.print("한줄에 주르르륵 출력");
System.out.println("한줄에 출력 후 줄넘김");
System.out.printf("형식지정코드", 인자, 인자, 인자);
System.out.print
: 기본 출력 방법으로 한줄에 쥬르르륵 입력하는 방법입니다.System.out.println
: 기본 출력 방법에서 입력된 내용 출력 후 줄넘김하는 방식 입니다.System.out.printf
: Format(포맷)을 지정해서 출력하는 방식 입니다.포맷터 형식은 아래 내용을 기초로 %
로 시작하여 여러개의 형식이 올 수 있습니다.
포맷터 형식 안에 \n
을 넣어서 줄넘김도 가능하며 JS의 템플릿 문자열 처럼 해당 형식을 이용해 자유자재로 작업할 수 있습니다.
형식 | 내용 |
---|---|
%d | 10진수 표현 형식 |
%o | 8진수 표현 형식 |
%x | 16진수 표현 형식 |
%s | 문자열 |
%f | 소수점 형식 |
%전체차리수.소수점자리수f\n | 전체자리는 소수점을 포함한 자리수 입니다. 들어간 값보다 작은값으로 지정해버리면 시스템이 알아서 전체자리수를 조정해 출력됩니다. |
\n | 줄넘김 |
Do it! 진짜 개발자가 되는 Java 프로그램 입분서 자바 완전 정복 - 김동형
위 책을 공부하며 작성하고 있습니다!