자바란?
프로그래밍 언어로 컴퓨터 프로그램을 만드는데 사용한다.
자바는 프로그램을 만드는 것 뿐만 아니라 실행환경, 개발도구, 라이브러리를 제공한다.
*라이브러리란 프로그램을 개발하는 데 필요한 기능들을 미리 만들어놓은 것으로,
우리가 프로그램을 만드는데 자주 쓰일만한 것들을 남들이 미리 만들어놓은 기능
자바로 만들수 있는 프로그램에는
- PC 애플리케이션(eclipse)
- 웹 애플리케이션(Spring)
- 모바일 애플리케이션(안드로이드)
- 빅 데이터(hadoop)
- 게임(마인 크래프트), 과학, 소형기기 등이 있다.
자바의 특징
1. 객체지향 언어이다.
객체지향 언어란? 기존의 프로그래밍 언어에 객체지향 개념을 도입한 것,
C++, JAVA, 파이썬, JS 등등
2. 자동 메모리 관리 기능이 있다.
이전에는 사용할 메모리가 부족해서 프로그램이 죽는 일이 많았는데,
자바에서는 가비지 컬렉터(GC)가 메모리를 자동으로 정리해준다.
3. 멀티 쓰레드를 지원한다.
하나의 프로그램에서 동시에 여러 작업을 할 수 있게 해주는 멀티 스레드를 지원한다.
4. 풍부한 라이브러리로 쉽게 개발이 가능하다.
5. 운영체제에 독립적이다.
일반적으로 프로그램을 작성하면 특정 운영체제에서만 실행 가능하다(윈도우 프로그램은 리눅스에서 사용할 수 없다)
그러나 자바는 수정하지 않고도 여러 운영체제에서 실행 가능한데, 그 이유는 자바가상머신(JVM) 때문이다.
VM은 가상컴퓨터를 의미하며, 소프트웨어로 만들어진 컴퓨터이다.
일반적으로 애플리케이션은 운영체제(OS)위에서 동작되나 자바는 OS 위의 JVM 위에서 실행되기 때문에 OS로부터 독립적일 수 있다.
JAVA API 문서
JAVA API란? 자바로 프로그램을 만드는 데 필요한 주요 기능을 미리 만들어서 제공한 것이다.
JAVA API 문서란? JAVA API가 제공하는 기능에 대한 상세한 정보를 제공한다.
https://docs.oracle.com/javase/7/docs/api/index.html
컴파일러
javac.exe는 자바 컴파일러이며, 사람이 작성한 문장을 기계어로 번역하는 역할을 한다.
컴퓨터는 사람의 언어를 모르기 때문에 반드시 기계어로 번역해줘야 하고, 컴파일을 하면 JVM이 이해할 수 있는 클래스 파일이 생성된다.
이 클래스 파일을 실행시키려면 java.exe가 필요한데 이것을 자바 인터프리터라고 하며, 클래스 파일을 읽어서 실행시키는 역할을 한다.
클래스란 자바 프로그램을 구성하는 단위로, 자바 프로그램은 최소 하나의 클래스로 이루어져야 하며
자바의 모든 문장은 클래스에 속해야 한다.
메인 메소드는 자바 프로그램의 시작점으로, 자바를 실행하면 main 메소드는 첫 문장부터 순서대로 실행된다.
메소드는 함수와 같은 개념으로, 서로 관련된 여러 문장들을 하나로 묶어놓은 것이다.
자바의 화면을 구성하는 창 하나하나를 view라고 하며, 전체 화면 구성을 perspective라고 한다(perspective: 관점)
이클립스에서 자바 프로그램을 작성하는 순서는
프로젝트를 생성하고 -> 클래스를 생성하고 -> 소스파일을 작성한 뒤 저장하고(자동 컴파일) -> 실행 하는 순이다.
빌드 관련 메뉴
빌드란? 소스파일로부터 프로그램을 만들어내는 전과정이다.
- Project > Build All (workspace의 모든 프로젝트를 빌드)
- Project > Build Project(현재 프로젝트를 빌드, 변경된 소스파일만 새로 컴파일한다)
- Project > Clean(이전 빌드정보를 모두 삭제 - 모든 소스파일을 새로 컴파일)
- Project > Build Automatically (자동 컴파일)
단축키
- ctrl + shift + L > 단축키 전체 목록
- ctrl + +, - > 폰트 크기
- ctrl + D > 한 줄 삭제
- ctrl + alt + down > 행 단위 복사
- alt + shift + A > 멀티 컬럼 편집
- alt + up, down 행단위 이동
- tab 들여쓰기 , shift + tab 내여쓰기, ctrl + i 자동 들여쓰기
- ctrl + sapce 자동 완성