플랫폼 독립성
JDK(Java Development Kit) : 자바 프로그램을 개발할 때 필요한 개발 도구 모음
<aside> 💡
기존에는 윈도우, 맥, 리눅스 등 운영체제에 따라 다른 언어로 프로그램을 만들어야 했지만, 자바 컴파일러와 JVM을 사용하면 운영체제와 상관없이 모두 같은 언어로 작성해서 실행할 수 있음
</aside>
객체지향
모든 내용이 객체(클래스)로 이루어져 있음 → 서로 관련있는 기능을 묶어서 하나의 클래스로 관리함
※ 객체와 클래스는 개념적으로는 다르지만, 실무에서는 혼용해서 많이 씀
| 개념 | 비유 | 설명 |
|---|---|---|
| 클래스 | 설계도 | 객체를 만들기 위한 정의 |
| 객체 | 설계도를 기반으로 만들어진 존재 | 클래스에서 만들어진 존재 |
거대한 생태계
오랜 시간동안 선호되어 온 프로그래밍 언어 → 다양한 오픈소스 라이브러리, 학습 자료 등이 있음
메모리(RAM) - 주 기억장치
HDD/SSD - 보조 기억장치
컴퓨터가 메모리를 관리하는 방법 → 1바이트 단위로 주소를 매겨 관리
<aside> 💡
1바이트(Byte) = 8비트(Bit)
비트 : 메모리의 최소 저장 단위(0 혹은 1 중 한 개를 저장할 수 있는 공간)

</aside>
이름 규칙의 종류
카멜케이스(camelCase) → 띄어쓰기 대신 대문자 사용
※ 자바에서는 카멜케이스를 사용함!
ex: firstName, lastName
스네이크케이스(snake_case) → 띄어쓰기 대신 언더바 사용
ex: first_name, last_name
패키지(Package) : 관련된 자바 클래스들을 그룹으로 묶는 기능 → 폴더처럼 파일(클래스)을 정리해서 관리할 수 있도록 함