*기계어
컴퓨터(운영체제)가 이해ㅓ하고 실행할수있는 0과 1로 이루어진 코드
*프로그래밍 언어
사람의 언어와 기계어의 다리 역할, 종류로는 C, C++, C#, 자바, 파이썬 등이 있다.
*컴파일
소스 파일을 기계어로 번역하는것
*프로그램
특정 목적을 수행하도록 프로그래밍 언어로 작성된 소스를 기계어로 컴파일한것.
*소스 파일
프로그래밍 언어로 작성한 파일
**자바
- 모든 운영체제에서 실행 가능
- 객체 지향 프로그래밍(객체를 만들고 이 객체들을 서로 연결해서 더 큰 프로그램을 완성하는 기법)
- 메모리 자동 정리
- 무료 라이브러리 풍부 -> 개발 기간 단축
*JDK(Java Development Kit, 자바개발도구)
자바로 프로그램을 개발할수있는 실행 환경(JVM)과 개발 도구(컴파일러) 등을 제공
- Open JDK
- Oracle JDK
-> 둘다 개발 및 학습용으로는 무료이나 Oracle은 상업용으로 이용할 시 유료. but 업데이트 꾸준함
*환경 변수
운영체제가 실행하는데 필요한 정보를 제공해주는 변수. JDK를 설치한 후 명령 라인(명령 프롬프트, 터미널)에서 컴파일러(javac)와 실행(java) 명령어를 사용하려면 JAVA_HOME 환경 변수를 등록하고 Path 환경 변수를 수정해야함
*IDE(Integrated Development Environment, 통합개발환경)
프로젝트 생성, 자동 코드 완성, 디버깅 등과 같이 개발에 필요한 여러가지 기능을 통합적으로 제공해주는 툴
*바이트 코드 파일
자바 소스 파일을 javac 명령어로 컴파일한 파일
*패키지
파일 시스템의 폴더와 비슷, 소스 파일 및 컴파일된 바이트 코드 파일들을 기능별로 쉽게 관리하기 위해 사용
*클래스
필드 또는 메서드를 포함하는 블록
*메서드
어떤 일을 처리하는 실행문을 모아놓은 블록
*실행문
변수 선언, 값 저장, 메서드 호출에 해당하는 코드
ex)
int x;
x = 1;
int y = 2;
int result = x + y;
System.out.println(result); // println 메서드 호출
*main() 메서드(entry point, 프로그램 실행 진입점)
java 명령어로 바이트 코드 파일을 실행하면 제일 먼저 main() 메서드를 찾아 블록 내부를 실행.