Java의 특징
1. 플랫폼 독립성 : Window, Max, Linux 어느 환경이던 상관 없이 실행될 수 있다.
- Javac : 자바 컴파일러
- Java파일을 바이트코드(.class)로 변환해준다.
- 바이트코드는 JVM이 해석할 수 있는 코드이며 JVM만 있으면 어느 실행환경에서도 실행이 가능하다.
- JVM : 자바 가상 환경
- 바이트코드를 해석하고 자바 프로그램을 실행시키는 역할을 한다.

2. 객체지향
- 자바의 세계는 모두 객체로 이루어져 있다.
- 자바에서 코드 작성 시 서로 관련있는 기능을 묶어 하나의 클래스로 관리한다.
3. 거대한 생태계
- Java는 오랜 시간동안 선호되어 온 프로그래밍 언어이다.
- 참고문서
컴퓨터의 기억 방식
주 기억장치 - 메모리(RAM)
- 사람으로 따지만 뇌의 역할을 하는 것이 메모리(RAM)이다.
- 메모리(RAM)의 특징 : 휘발성, 빠른 속도
보조 기억 장치 - HDD/SSD
- 컴퓨터가 영구적으로 정보를 저장하기 위해 하드디스크를 활용한다.
- 보조 기억 장치의 특징 : 영구저장, 느린 속도
컴퓨터가 메모리를 관리하는 방법
- 컴퓨터의 메모리는 1바이트 단위로 주소가 매겨져 관리된다.

바이트(byte)
- 1바이트는 8비트로 구성되어 있다.

비트(bit)
- 메모리의 최소 저장 단위이다.
- 1비트는 0 혹은 1 중에서 한개를 저장할 수 있는 공간이다.

자바 프로젝트 관리
이름 규칙 종류
1. 카멜케이스(camelCase)
firstName, lastName, fullName
띄어쓰기를 하려는 곳에 대문자를 써서 표현한다.
2. 스네이크케이스(snake_case)
first_name, last_name, full_name
띄어쓰기를 하려는 곳에 언더스코어를 써서 표현한다.
패키지(폴더)
- 폴더처럼 파일(클래스)을 정리해서 관리할 수 있도록 도와주는 역할을 한다.
- 패키지 이름 규칙
- Java에서 패키지명은 소문자만으로 적는 것을 권장한다.
클래스(파일)
- Java 프로젝트에서는 클래스 이름이 파일명이 된다.
- 클래스 이름 규칙
- 클래스 이름을 작성할 때는 첫 글자 대문자 + 카멜케이스 조합으로 작성한다. (Pascal case)