티스토리에 저장했던 글을 옮겼습니다.
https://mrcocoball.tistory.com/50

Chapter 1. Java 시작하기
1. 프로그래밍 언어와 자바
(1) 프로그래밍 언어 기본
- 기계어 : 컴퓨터(OS)가 이해하고 실행할 수 있는 0과 1로 이루어진 코드
- 프로그래밍 언어 : 사람의 언어와 기계어의 중간다리 역할
- 소스 파일 : 프로그래밍 언어로 작성된 파일
- 컴파일 : 소스 파일을 기계어로 번역. 해당 역할을 담당하는 소프트웨어를 컴파일러라고 함
(2) 자바 소개
- 모든 운영체제에서 실행 가능
- 객체 지향 프로그래밍 (OOP : Object-Oriented Programming)
- 메모리 자동 정리 : 메모리를 자동으로 관리
- 무료 라이브러리 풍부 : 오픈 소스 라이브러리가 풍부하여 프로그램 개발 기간 단축
(3) 자바 개발 도구 (JDK : Java Development Kit) 설치
- 설치 -> 환경 변수 설정 (JAVA_HOME, Path)
- 환경 변수 : 운영체제가 실행하는데 필요한 정보를 제공해주는 변수
- JVM (Java Virtual Machine) 과 개발 도구 (컴파일러) 제공
2. 이클립스 개발 환경 구축
(1) 이클립스란?
- 이클립스 : 무료로 사용할 수 있는 오픈 소스 통합 개발 환경 (IDE)
- 워크스페이스 : 이클립스 실행과 관련된 메타 데이터와 프로젝트 폴더가 저장되는 폴더
- 뷰 : 이클립스 내부에서 사용되는 작은 창
- 퍼스펙티브 : 프로젝트를 개발할 때 사용할 수 있는 뷰들을 미리 묶어 이름을 붙여놓은 것
3. 자바 프로그램 개발 과정
(1) 자바 프로그램 개발 과정 개요
- 파일 확장명이 .java인 텍스트 파일 생성, 자바 언어로 코드를 작성
Test.java (자바 소스 파일)
- 이후 컴파일러인 javac 명령어로 컴파일, 성공 시 확장자명 .class인 바이트 코드 파일 생성
Test.class(바이트 코드 파일)
- 바이트 코드 파일은 기계어 아님, java 명령어로 완전한 기계어로 번역 (JVM이 기계어 번역 진행)
- 기계어 번역 후 실행
(2) 바이트 코드 파일과 JVM
- 자바 프로그램은 완전한 기계어가 아닌 바이트 코드 파일(.class)로 구성됨
- 바이트 코드 파일은 운영체제에서 바로 실행할 수 없고 JVM이라는 번역기가 필요
- JVM 사용 이유 : 바이트 코드 파일을 다양한 운영체제에서 수정하지 않고 사용할 수 있도록 하기 위함
- 리눅스용 JVM, 윈도우용 JVM이 별개로 있기 때문에 운영 체제에서 실행 가능한 기계어로 번역해서 실행 가능
(3) 프로젝트 생성부터 실행까지
- 프로젝트 생성 : 프로젝트 생성 시 module-info, Java 편집 뷰 실행, 모듈 기술자 (requires java.se;) 작성 필요
- 소스 파일 생성과 작성 : 새 패키지 생성 -> 클래스명 입력 -> 편집 뷰 내부 작성 및 소스 파일 저장, 자동 컴파일
- 바이트 코드 실행
(4) 프로그램 소스 분석
public class Test {
}
ㄱ. public~ Test 부분을 클래스 선언부라고 함
ㄴ. class 뒤의 Test를 클래스 이름이라 칭함
ㄷ. public class = 공개 클래스
ㄹ. {} 안의 내용 = 클래스 블록
- javac 컴파일 이후 .class 클래스 (바이트 코드 파일이지만 클래스라고 부름) 내부의 main() 메소드 선언부
※ java 명령어로 실행하기 위해서는 main() 메소드 블록 필요
public static void main(String[] args) {
System.out.printIn("Hello, Java")
}
ㄱ. public~args) 부분을 메소드 선언부라고 함
ㄴ. () 앞의 main을 메소드 이름이라 칭함
ㄷ. {} 안의 내용 = 메소드 블록
ㄹ. java 명령어 실행 시 main 메소드를 먼저 찾아 내부 내용을 실행
→ 해당 부분을 프로그램 진입점 (엔트리 포인트, Entry Point) 라고 함
(5) 주석 사용하기
- 라인 주석 // .... : //부터 라인 끝까지 주석으로 처리
뿌슝빠슝
- 범위 주석
/* .... */
: /* */
사이의 내용 모두 주석 처리
- 도큐먼트 주석
/** ... */
: /** */
사이의 내용 모두 주석 처리, javadoc 명령어로 API 도큐먼트 생성 시 사용
(6) 실행문과 세미콜론
- 세미콜론 : 실행문이 끝났음을 표시해야 하며 그렇지 않을 경우 컴파일 에러 발생
- 실행문 작성 예
int x;
x = 1;
int y = 2;
int result = x + y;
System.out.println(result);
- 컴파일러는 세미콜론까지 하나의 실행문으로 해석하므로 하나의 실행문을 여러 줄에 걸쳐
작성하고 맨 마지막에 세미콜론을 붙이거나, 세미콜론을 구분자로 한 줄에 여러 실행문을 작성할 수 있음
int x = 1; int y = 2;
int result = x + y;