온라인에 올라온 연습용 소스코드를 실행하고 설명하기 위한 페이지입니다.
예제코드는 https://github.com/iseohyun/java-tutorial에서 확인, 다운로드 받을 수 있습니다.

자바(java)란

java는 1995년 Sun Microsystems에서 개발했고, 2010년에 Oracle Corporation에 양도되었습니다. Oracle은 아래 표와 같이 꾸준히 업데이트를 지원하고 있습니다.

자바 버전별 특징
버전 발행년도 특징
Java 8 2014 람다식, 스트림 API, 날짜 및 시간 API 등의 추가
Java 11 2018 모듈 시스템 도입, 라이브러리 및 기능 제거, G1 GC 개선, HTTP 클라이언트 API 등
Java 17 2021 Sealed 클래스, 패턴 매칭, 지속적인 벤치마킹 등의 추가
Java 20 2023 레코드 패턴 및 패턴 매칭 스위치 표현식, 프로젝트 룸 관련 주요기능, JVM 및 네이티브 코드간 연결성 등

Oracle홈페이지에서 무료로 다운받을 수 있습니다. (...는 예제에서 사용될 예정)

자바 제품군
자바 제품군 특징
Java SE (Standard Edition) 기본 자바 플랫폼, 일반적인 자바 개발에 사용됨
Java EE (Enterprise Edition) 기업용 애플리케이션 및 웹 애플리케이션 개발에 사용됨, 서버 환경을 위한 추가 기능 제공
Java ME (Micro Edition) 제한된 자원 환경에서 동작하는 임베디드 시스템 및 모바일 기기용 개발에 사용됨
Java FX 리치 인터넷 애플리케이션 개발에 사용됨, 그래픽, 멀티미디어 등 다양한 기능 제공
Java Card 카드 기반 애플리케이션 개발에 사용됨, 스마트 카드 및 보안 요구사항을 지원

java는 자바가상머신(JVM)에서 실행되며, JVM은 특정 플랫폼에 설치되어야 합니다.

java가상머신에서 수행된다는 것은, 컴파일 결과가 exe파일이 아닌 형태(.class; 바이트코드)로 출력된다는 의미이며, 바이너리를 직접 만드는 C보다 성능면에서 뒤떨어지나, JVM이 지원된다면 어디서든 수행가능한, 즉 범용성에서 앞선다고 볼 수 있습니다.

Java 구조
java 컴파일 구조

다른 언어와 비교

언어 컴파일 동작
C cl.exe(또는 gcc.exe)로 수행 결과물 직접 실행
Java javac.exe로 수행 java.exe를 통해 실행
python py.exe로 실행

컴파일 방법

컴파일
C:\Java_Example\BasicCode> java a_BasicType.A_HelloWorld
컴파일(경로) + 실행 방법
C:\Java_Example\BasicCode> javac -d a_BasicType.A_HelloWorld.java

C:\Java_Example\BasicCode> java a_BasicType.A_HelloWorld
Hello World!
패키지가 없는 컴파일 + 실행 방법
C:\> javac hello.java
C:\> java hello
Hello~

용어

용어 설명
용어 설명
JVM Java Vertual Machine, 자바가상머신. 자바가 수행되기 위한 최소한의 장치
JRE Java Runtime Environment, 자바가상환경. 자바가 수행되기 위한 환경, Java class library를 포함
JDK Java development Kit, 자바개발환경. 컴파일도구, 디버깅도구를 추가 포함.
IDE Integrated Development Environment, 통합개발환경. 에디터 및 개발 편의기능을 패키지 형태로 제공되는 것
대표적인 java통합환경으로 Eclipse, IntelliJ IDEA, NetBeans등, vscode로 환경구성 가능(추가설정이 필요)

환경설정

eclipse또는 vscode 둘 중 하나만 설치하면 됩니다.

eclipse

truble shooting :

포스트 보고 따라하기 : example-code.tistory.com/entry/이클립스-설치-예제-코드-가져오기

Visual Studio Code

약칭 vscode, 구글에서 'vscode'검색해서 설치하기
확장 프로그램(Extension)을 설치합니다.

편의 기능 설명
Extension Pack for Java Language Support for java(TM) by Red Hat
Debugger for Java
Test Runner for Java
Maven for Java
Project Manager for Java
IntelliCode
TabOut(옵션) ""등과 같이 자동완성 코드에서 탭을 통해, 완성코드를 스킵하는 기능
Dictionary Completion(옵션) 영사전 자동 완성 기능

※ 한글 깨짐 문제 : x-windows-949 인코딩은 자주 사용하지 않는다고 판단한 한글을 임의로 제외시켰습니다. 그래서 일부 한글을 인식할 수 없는 문제가 있기 때문에, UTF-8(글로벌 공용)으로 바꾸어줄 필요가 있습니다. 해당설정은 preference > setting (ctrl + ,)에서 java jdk를 검색한 후에 edit setting.json에 다음과 같이 추가합니다.(만약 "java.jdt.ls.vmargs": 항목이 있으면 내용만 추가합니다.)

"java.jdt.ls.vmargs": "-Dfile.encoding=utf8",

git bash(옵션)

구글에서 'git download'검색해서 설치하기
 본인 코드관리에 필요합니다. (예제코드 압축파일로 받을 수 있음)

코드 사이트 : https://github.com/iseohyun/java-tutorial [예제코드 다운로드]

위 코드를 직접 다운로드 받지 않아도, VS code를 통해서 자동으로 다운로드 받을 수 있습니다. 아래 [그림 1]과 같이 처음 열었을 때 화면에서, Clone Git Repository를 클릭합니다. 이후 나오는 대화창에서 다음을 붙여넣기 합니다.

https://github.com/iseohyun/Java-tutorial.git
vscode에서 직접 git받기
vscode에서 업데이트 내용 반영받기

git은 코드의 버전관리를 위해 가장 간결하게 사용되고 있는 프로그램입니다. 단축키는 ctrl + alt + G로 열면 됩니다. 만약 다운로드가 되지 않는다면, ... > stash > stash를 수행합니다.(에러 메시지: "please clean your repository working tree before checkout")

프로그램 동작 요령

자주사용하는 단축키
기능명 단축키 설명
빌드 F5 프로그램 수행
run java를 단축키(shortcut)에 개별 등록하려면, '명령어 검색' 후 단축키에 'run java'를 검색하여 등록
명령어(command) 검색 ctrl + shift + P 사용 가능한 명령어를 나열함. 최근 사용한 명령어를 보여줌
브레이크 포인트 F9 디버깅 시, 사용
다음 명령 수행 F10 디버깅 시, 사용
코드 정렬 alt + shift + F 긁어온 코드 등을 내 코드에 맞게 정렬해줌
일괄 변경 ctrl + H 정규식 가능, 정규식에 의한 Select 후보군을 미리 보여줌
라인 이동 ctrl + G 브라우저와 디버깅 할 때, 라인번호로 바로 이동
편집점 이동 Alt + 방향키 머물렀던 편집점을 옮겨다닐 때 유용
추천 단어 ctrl + space 보통은 자동으로 열리는데, 강제로 열 때
주석처리 ctrl + / 언어에 맞게 주석으로 토글해줌
코드 이동 alt + ↑↓ 선택된 코드를 집어서 위, 아래로 이동
호출기 이동 F12 함수 원형으로 이동
단축키 ctrl + K + S 단축키 확인 및 변경, 키, 기능명 모두 검색 가능

실행해보기

아래 코드를 입력합니다.
(예제코드 보는 방법: ctrl + shift + E 를 한 뒤, JAVA PROJECTS > BasicCode > Syntax > a_BasicType > A_HelloWorld 를 클릭합니다.)
새로 만들어서 사용하려면, new java를 클릭한 뒤에, 이름을 생성("helloWorld") 후에 타이핑 하면 됩니다.