자바란?
자바란 썬 마이크로시스템즈에서 개발한 객체지향 프로그래밍 언어이다
*객체지향 프로그래밍: 객체 내에 관계있는 데이터와 연산을 묶어 해당 객체의 재사용성 및 유지보수성을 높이는 기법
*객체지향 언어: 객체지향 프로그래밍을 위한 언어
객체 지향의 특징: 상속, 추상화, 캡슐화(은닉), 다형성
자바는 바이트 코드로 전환돼 JVM(Java Virtual Machine; 자바 가상 머신)상에서 실행됨
바이트 코드는 클래스 파일과 대응됨
*자동 메모리 할당: 객체 생성 시 자동으로 메모리가 할당 + JVM이 알아서 메모리를 해제
*클래스 로딩: JVM이 객체를 생성하기 위한 클래스를 인지하는 동작
*동적 로딩: 프로그램 실행 중에 클래스 로딩이 일어나는 것 <-> 정적 로딩
자바의 특징
- 운영체제에 독립적인 언어
- 객체지향 언어
- JVM이 자동으로 메모리를 관리
- 동적 로딩을 지원
JDK: 컴파일러, JVM 등 개발에 필요한 도구들을 포함함
절차: test.java -> JAVAC(javac를 통한 컴파일) -> test.class -> JAVA(자바를 통한 실행)
test.java 컴파일 => test.class, test.class 파일을 java라는 명령어를 사용해 JVM 상에서 실행함
자바 애플리케이션: 자바 클래스의 집합
통합 개발 환경(IDE; Integrated Development Environment)
*예약어: 자바 컴파일러가 사용하려고 직접 정의한 단어
<자바 명명 규칙>
1. 대소문자를 구분함
2. 예약어를 피해야 함
3. 숫자로 시작할 수 없음
4. 특수문자는 _, $만 허용
JAVA SE (Java Platform Standard Edition) : 데스크탑 및 서버에서 응용 프로그램 개발
JAVA EE (Java Platform Enterprise Edition) : SE를 포함하고 있으며 웹 프로그램 개발
JAVA ME (Java Platform Micro Edition) : 임베디드 개발
JDK: 개발 도구
JRE: 배포 도구
IDE(통합 개발 환경) ex) 이클립스, vscode, IntelliJ IDEA, ...
workspace: 프로젝트 생성 시 저장되는 공간