자바와 개발환경 설정

2024. 1. 28. 17:05웹/백엔드-자바

728x90
반응형

요약

더보기

visual Studio Code는 무료로 제공되는 문서 및 코드 편집기

이클립스는 무료로 제공되는 통합 개발 환경(IDE, Intergrated Development Environment)

 

명령프롬프트에서 자바 코딩 과정

https://mimimimamimimo.tistory.com/9
  1. 에디터로 소스 파일 작성(.java)
  2. "javac [파일이름].java" 컴파일 진행
  3. "java [파일이름]" 로 JVM 실행 후 2진코드 CPU 전달
  4. "Hello World" 화면에 출력

자바 코딩 규칙

  • 자바 프로그래밍 시작점은 main() 메서드이다.
  • 개별 자바 명령문은 반드시 세미콜론(';')으로 마쳐야 한다.
  • 소스 코드 작성 시 반드시 들여쓰기를 해야 한다.
  • System.out.println()을 이용해서 화면에 문자열을 출력할 수 있다.
  • 코드 기능을 설명하거나 특정 코드를 컴파일에서 제외할 때는 주석문을 사용한다.

화면에 문자열 출력하기

  • System.out.println("문자열") : 문자열을 출력한 후 개행 실행
  • System.out.println("문자열") : 문자열 출력한 후 개행 미실행
  • System.out.println() : 빈 상태로 실행 시 개행만 실행

JDK 구성요소

  • 개발 도구 : javac, java, jar, javadoc, javap .....
  • JRE - API(JDK에서 미리 만들어서 제공하는 라이브러리), JVM(bytecode를 운영체제 종류 상관없이 실행)

자바 프로그램 실행 과정

https://helloworld-88.tistory.com/16

 

이클립스 실행

  • ctrl + F11 또는 상단 녹색 실행 아이콘 클릭

프로그래밍 언어의 발전 과정

프로그래밍 언어의 종류

프로그래밍 언어는 발전 단계에 따라서 기계어, 어셈블리어, 고급 언어로 분류 할 수 있다.

 

https://blog.naver.com/tipsware/221041215416

 

  • 기계어 - 컴퓨터에게 어떤 작업을 시키기 위해서는 중앙처리장치(CPU)가 이해할 수 있는 2진 명령어를 컴퓨터에 입력해서 기능을 실행
  • 어셈블리어 - 기계어를 사람이 다루는 한계로 탄생, MOV, LDA 등의 명령어를 간단한 영어 단어를 이용해서 표기한 언어
  •  고급 언어 - 사람이 사람에게 지시나 명령을 하는 것처럼 컴퓨터에게 일을 시킬 때 사람의 언어를 기반으로 하기 위해 탄생

컴파일러

고급 언어(C, Java 등) 명령어는 컴퓨터(CPU)가 바로 읽고 실행 할 수 없다. CPU가 인식할 수 있는 기계어로 코드를 변환해야 하는데 이를 컴파일링이라 하고, 변환을 수행하는 도구를 컴파일러라고 한다.

https://velog.io/@emplam27/CS-%EC%BB%B4%ED%93%A8%ED%84%B0-%EC%8B%9C%EC%8A%A4%ED%85%9C-1%EC%9E%A5-%EC%A0%95%EB%A6%AC


자바 소개

자바는 가전제품에 내장될 소프트웨어를 위한 플랫폼 독립적인 언어이다. 이런 기기들은 각각의 특수한 운영체제에 맞게 동작하는데, 각각의 운영체제에 상관없이 일정하게 동작하는 소스 코드로서 발전했다.

더보기

Open JDK와 Oracle JDK

 

원래 여러 기업이나 단체가 참여해서 기능을 정의하고 구현한 기능을 라이브러리로 제공하는 오픈 소스

Oracle JDK는 Open JDK와 달리 오라클사에서 기능을 특화해서 제공

개발 시에는 무료로 사용할 수 있지만 상업적으로 이용시 라이센스비를 지불해야 함.

Open JDK는 https://jdk.java.net/에서 서 다운로드 가능


https://jdk.java.net/

 

JDK Builds from Oracle

Production and Early-Access OpenJDK Builds, from Oracle Looking to learn more about Java? Visit dev.java for the latest Java developer news and resources. Looking for Oracle JDK builds and information about Oracle’s enterprise Java products and services?

jdk.java.net

자바 버전별 주요 기능

  • 1.4 / 02.02 : IPv6 지원, JDBC 3.0 정규식 지원
  • 5 / 04.09 : 제너릭, foreach문, 오토박싱, 열거형, StringBuilder, 애너테이션
  • 6 / 06.12 : JAX-WS, 스크립트 지원, JDBC 4.0
  • 7 / 11.07 : 이진 리터럴, switch문에 String 사용 가능, 숫자 리터럴에 _ 사용, JDBC 4.0
  • 8 / 14.08 : 람다식, 스트림
  • 9 / 17.09 : 모듈화, REPL(JShell), 유니코드 8.0 지원
  • 10 /18.03 : 지역변수 타입 추론, GC 개선, 메모리 선택 할당
  • 11 / 18.09 : 구독 라이센스 적용, JavaFX 분리, 유니코드 10
  • 20 / 23. 03 : 가상 스레드 도입

https://www.marcobehler.com/guides/a-guide-to-java-versions-and-features

 

Java Versions and Features

You can use this guide to get practical information on how to find and install the latest Java, understand the differences between Java distributions (Adoptium, AdoptOpenJdk, Temurin, OpenJDK, OracleJDK etc.), as well as get an overview of Java language fe

www.marcobehler.com

https://velog.io/@ljo_0920/java-%EB%B2%84%EC%A0%84%EB%B3%84-%EC%B0%A8%EC%9D%B4-%ED%8A%B9%EC%A7%95

 

java 버전별 차이 & 특징

Java 버전별 특징들을 찾아보면서 좋은 글이 있어 해당 글을 정리한 포스팅입니다.최신 Java 버전은 이제 6개월마다 따른다. 수많은 새로운 버전이 출시됨에 따라 기본적으로 다음과 같은 사용 시

velog.io

자바의 특징

  • 고급 프로그래밍 언어
  • 객체 지향 언어
  • 운영체제에 상관없이 실행
  • 메모리 자동 관리
  • 풍부한 무료 라이브러리
  • 동시 작업을 위한 멀티 스레드 기능

자바 기술의 종류

  • Java SE : 데스크톱 컴퓨터의 응용 프로그램 개발용 자바 기술
  • Java EE : 서버용 응용 프로그램 개발용 자바 기술, servlet, jsp, spring framework 등
  • Java ME : 소규모 장치에서 실행되는 응용 프로그램 개발용 자바 기술, 휴대전화, 셋톱박스 등

EE, ME는 SE 기반으로 추가 기능이 제공되는 기술이기 때문에 사용하기 위해서는 "SE"가 먼저 필요하다. SE 개발 환경부터 설치한 후 사용해야 "EE, ME" 사용 가능하다.

https://eodevelop.tistory.com/10
https://gurugubellitech.blogspot.com/2017/11/java-editions-and-java-se-vs-java-ee.html

현재 자바 기술은 SE, EE, ME가 있다.

Java SE 개발 환경 설치

  1. 자바 개발 도구(JDK) 설치
  2. 환경 변수 설정
  3. API 문서 즐겨찾기 추가
  4. 비주얼 스트디오 코드 설치
  5. 이클립스 설치

JDK 구성 요소와 기능

https://blog.naver.com/pmw9440/221834261605

HelloWorld 실습 예제를 통한 자바 프로그래밍 고정

  1. HelloWorld.java 생성
  2. 자바 코드 작성
  3. HelloWorld.java 컴파일
  4. HelloWorld.class 실행
  5. "Hello World!" 출력

VS 코드를 실행하고 메뉴에서 파일 > 새파일을 선택한 후 , 다시 메뉴에서 "파일 > 저장"을 선택해서 원하는 폴더에 파일명을 HelloWorld.java로 지정, 아래 코드를 작성한 후, 저장을 선택해서 파일에 저장

package ch02;
public class HelloWorld{
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

 

윈도우 검색 창에 "명령 프롬프트"나 'CMD"를 입력해서, 명령 프롬프트를 띄운 후, cd 명령어를사용해서HelloWolrd.java가 저장된 폴더로 프롬프트를 이동

 

javac.exe 명령어를 이용해서 HelloWorld.java 파일을 컴파일, 정상적으로 컴파일 완료되면 HelloWorld.class 파일 생성

javac HelloWorld.java

 

컴파일 후 java.exe 명령어를 이용해서 HelloWorld.class를 실행시키면 명령 프롬프트에 "Hello World"가 출력

java HelloWorld

#한글이 있을 시
javac HelloWorld.java -encoding=utf-8

HelloWorld.java 실습을 통한 자바 코딩 규칙

자바 클래스명은 파일명과 반드시 일치해야 한다

  • 자바 소스 파일의 확장자는 반드시 ".java"로 끝나야 함
  • 클래스명은 반드시 파일명과 대소문자까지 일치
  • 자바에서는 클래스 이름의 첫 글자는 관례적으로 영문 대문자로 표

자바 프로그램의 시작점은 main() 메서드

package ch02;
public class HelloWorld{
    public static void Main(String[] args) {
        System.out.println("Hello World!");
    }
}

 

  • main을 Main으로 할경우 main()메서드를 찾을 수 없다는 에러 메시지 발생

자바 실행문은 반드시 세미콜론(';')으로 마쳐야 함

소스 코드 작성 시 들여쓰기 해야 함

한줄 주석 "//"이고, 여러 줄 주석은 "/*...*/"으로 하면 됨


JDK 구성 요소와 기능

프로그램 실행 시 JDK가 JRE를 이용하여 컴퓨터의 운용체제와 연동하면서 하드웨어에서실행되는 구조

https://blog.naver.com/infopub/220461136741

자바 개발 도구(JDK)의 구성

크게 자바 개발 도구와 자바 실행 환경을 제공하는 JRE로 나눌 수 있음

https://bingbingpa.github.io/whiteship-live-study-week1/

  • 자바 개발 도구는 자바 프로그래밍 시 필요한 여러 가지 기능을 제공
    • 환경 변수에 설정한 폴더인 %JAVA_HOME%\bin 에 여러 가지 실행 파일 형태로 제공 됨
실행 파일 설명
javac.exe 자바 소스를 class 파일로 변환
java.exe JVM을 실행한 후 class 파일을 읽어 들인 후 실행
jar.exe 컴파일된 class 파일을 jar 파일로 압축
javadoc.exe 자바 소스에 주석문을 추가
javap.exe class 파일의 bytecode를 출력
jshell.exe jshell 모드로 동작하게 함
serialver.exe 직렬화 가능한 클래스의 버전을 관리

자바 실행 환경의 구성 요소와 기능(JRE)

JRE는 크게 API와 JVM으로 나눌 수 있다.

  • API
    - API는 JRE에서 자바 프로그래밍 시 많이 사용하는 기능을 미리 만들어서 제공하는 라이브러리
    - API에서 제공하는 System.out.println() 메서드를 이용해서 화면에 문자열 출력이 한 예
    - src.zip 있는 java 파일 컴파일 후 jrt-fs.jar로 압축한 후 제공
    - "C:\Program Files\Java\jdk-21\lib\src.zip\java.base\java\io" src.zip 안에 클래스들 모습

  • JVM
    - java.exe 실행하면 JVM이라는 해석기를 실행 시킨 후, HelloWorld.class 파일에서 바이트코드를 읽어 들여서 운영체제(CPU)가 인식할 수 있는 "2진코드"로 변환 후 CPU로 전달해서 실행

https://stonehee99.vercel.app/jdk-jre-jvm
https://haenyilee.github.io/Java/ws-live-study/2020-11-29-week1-jvm.html
https://wonsjung.tistory.com/574

  • JVM과 같은 인터프리터를 사용하여 운영체제에 상관없이 실행할 수 있게 됨(운영쳉제별 JDK설치)

https://devkuma.com/docs/jvm/memory-structure/


이클립스에서 "HelloWorld.java" 실행

1. 프로젝트 생성하기

  • "chtr+n" 이나 "file > new > java project" 선택

  • new java project 대화 상자가 나타나면 project name 입력란에 새 프로젝트명 'ch02'를 입력

  • 프로젝트명 입력란

  • 프로젝트 폴더 생성 위치 지정란

  • 사용할 java 버전 지정란, 이클립스에 내장된 JRE 버전이 아니라 설치한 JDK 지정

  • 자동 빌드 설정 시 소스 파일(.java)와 클래스 파일(.class)이 분리되어서 저장 설정

  • Create module-info.java file 항목 체크 해제

JDK 8 이전에는 다른 프로젝트에서 생성한 패키지(클래스)에는 접근할 수 없었으나 JDK9 이후부턴 module-info.java를 통해서 다른 프로젝트 사이에서도 패키지(클래스)에 접근할 수 있게 됨.

2. 소스 파일 생성과 작성

  • src 폴더를 선택한 후 "마우수 우클릭 > New > Package" 선택 후 패키지 이름 'sec01.ex01' 입력 후 Finish 클릭

  • 패키지 'sec01ex01' 선택 후 ' 마우스 우클릭 > New > Class' 선택

  • New Java Class 대화 상자에서 'Name' 입력란에 클래스 이름인 'HelloWorld'를 입력 후 'Finish' 클릭

  • 자바 코딩 규칙에 따라 다음 코드 작성

  • 'ctrl+s' 나 저장을 하면 자동으로 컴파일 실행
  • 이클립스 상단의 아래 그림 모양이나, 'ctrl+f11' 누르면 파일 실행 후 아래 하단 'console'에 출력

상단 Prefence > General > Appearance > Colors and Fonts 선택
Basic > Text and Font 선택 후 더블 클릭하거나 Edit 클릭해서 글꼴 선

나눔고딕 코딩체 설치하기 참조사이트

 

윈도우 나눔고딕코딩 설치 - 제타위키

다음 문자열 포함...

zetawiki.com

 

 

반응형