[Java] 2020.10.21. day 1_ java 개발 환경 구축 및 이론

2020. 10. 21. 14:42Web_Back-end/Java SE

 Java SE 수업내용 - 약 6주 소요

설치, 환경설정 (Path 설정), 기본 문법 <출력, 데이터형, 변수(local_지역), 연산자, 제어문(if, else, switch~case, for, while, do-while, break, continue, return), method, variable(인스턴스,static 등 member,class variable), class(class, interface, abstract class, inner class, nested class, local class, anonymout inner class), String, array, 상속, 다형성, 캡슐화, JCF(Java Collection Framework : List, Set, Map)>

fist Project - solo or team

JFC (Java Foundation Class - AWT, Swing : Window 용 Application 제작 시 사용), Event Handling, Exception Handling(예외처리), IOStream(입/출력), Network, Thread(동시 업무처리)

Tool - 메모장(하루) -> editplus(2~3일) -> eclipse


◎ Java 환경 구축하기

  1. JDK 다운 
    • JDK java SE 15 까지 나왔음 // down은 14 버전까지 가능
      1. java.sun.com (sun->oracle) // 유료, version 계속 지원가능
        • API Document 지원
        • java SE
        • Documentation, API Documentation
      2. openjdk.java.net // 무료, Open JDK, 
        • 방법 :  GitHub.com 에서 ojdkbuild 검색 - 클릭 - 14버전 msi다운
        • 업데이트 지원 없음

 

◎ 환경변수의 Path 

  • 설치된 프로그램을 경로에 상관없이 사용할 때 설정한다
  • window키 + pausebreak -> 시스템 - 설정변경 - 고급 - 환경변수 클릭 - 시스템변수의 path - 확인하기 (오라클로 다운시 직접 경로 적어야함 / 깃허브로 할 시 필요없음 _ 오픈 JDK)

 


※ 어디에서든 java 사용가능하게 만들기

1. 디스크C에 dev 폴더 생성

2. java 파일 복붙

3. 메모장에 아래내용 작성 후 bat파일로 저장

더보기

rem XXX_home 의 설정은 프로그램끼리 경로를 참조하고 사용하기 위해 설정하는 Path 경로 

set dev_home=c:/dev 
set java_home=%dev_home%/java-14-openjdk-14.0.2-1 

rem Path의 설정은 CUI에서 프로그램이 설치된 위치가 아닌 위치에서 사용하기 위해 설정하는 Path 

set path=%java_home%/bin 

rem classpath의 설정은 class파일 (bytecode) 을 경로에 상관없이 사용하기 위해 설정하는 Path

 

//경로를 모아놓은 파일 env.bat를 생성함

4. apis 폴더 생성 후 폴더안에 java doc 넣어두기

5. C:\dev\apis\jdk-8u271-docs-all\docs\api //경로에 있는 index.html을 바탕화면에 바로가기 만들기 바로가기 이름은 java_SE_index.html 로 저장

6. dev 폴더 안에 src 폴더 생성 + day_날짜 폴더 생성


※ 메모장으로 소스코드 작성 후 cmd로 실행해보기

/*
 1. source code 작성
	@ 주의
	 - 대소문자를 구분한다. A =/= a
	 - 괄호는 짝으로 구성된다. ( ), { }, [ ]
	 - 문장의 끝에는 반드시 ; 을 붙인다....;;
*/

class Hello{

	// main method : Hello 클래스를 단독으로 실행 시킬 때 main method를 정의
	// Java Application (단독으로 실행 시킬 수 있는 것_Application)
	public static void main(String[] args){

		System.out.println("hello world!");

	}//main

}//class

/* 
 2. 저장 : 파일명.java 파일명은 클래스의 이름과 동일하게 설정한다.
	Hello.java

 3. Compile (Compiler --> javac.exe) 수행 : DOS 창을 열고 Source Code 가 있는 위치에서 수행
	javac -옵션 소스파일명.java
	컴파일 성공 --> bytecode 생성됨 : 파일명.class (Hello.class)
 
 4. Run (실행)  : 실행기 (--> java.exe : JVM 실행되고 class가 로딩(적재의 의미)되어 class의 내용이 실행된다.
	java -옵션 bytecode명  
*/
  1. 메모장에 소스코드 작성 후 클래스이름.java 로 저장
    • 저장위치는 c드라이브 dev폴더 src폴더 day_1021 폴더 안 
  2. cmd 실행 후 
    1. cd\ / cd dev / env.bat / cd src / cd day_1021 / dir/w / javac Hello.java / dir/w / java Hello
    2. 1번 순차적으로 실행하면 결과 출력됨
  3. 편집 시에는 java파일 우클릭 - 편집 // class파일은 수정 불가능함 _ 컴퓨터 언어로 표기됨
  4. cmd 창에서 javap Hello.class 
  5. cmd 창에서 javap -verbose Hello.class
    • checksum code 파일을 식별할 수 있는 코드가 나옴
    • Assembly 보여줌

◎ Compiler 와 Run

▷ Compiler

  •  번역기_사람의 언어로 된 소스파일을 컴퓨터의 언어로 변경해주는 프로그램 
  •  사람의 언어 xxx.java : source code 를 컴퓨터의 언어 (Assembly) 로 변경
  •  xxx.class : byte code

▷ Run

  • 생성된 byte code 를 가지고 실행

 

◎ java 코딩 순서

  1.  Source Code 작성 : 사람의 언어_영어,한글,숫자 등
  2.  저장 : 이름.java _ 이름은 클래스 이름과 동일 (ex : Test.java)
  3.  Compile : (사람의 언어 -> 컴퓨터의 언어로 번역) 
    • CUI (Character Uset Interface) -> TUI (Text User Interface)
    • CUI 환경에서 특정 경로에 설치된 프로그램을 사용하려면 OS 에 Path가 설정되어있어야 한다
    • Compiler 사용 : javac.exe : 설치한 JDK에서 제공
    • 컴파일의 결과로 bytecode 생성됨 (Test.class)
  4. Run_실행 (bytecode를 사용하여 CPU나 memory_RAM 를 사용)
    • 실행기 : java.exe

▼ java 코딩 및 실행 순서 다시 보기

더보기

▶ java 코딩 및 실행 순서 다시 보기  // 순차적으로 보면 됨 

○ Compile Time

     1. Source Code 작성 

    2. 저장 : 클래스명.java --> Test.java

    3. 컴파일 : javac 소스파일명.java --> javac Test.java

    4. 실행 : bytecode --> Java 바이트코드명 --> java Test

 Compile실패 - error

  • 코드 작성 규칙 위배 ( 문법 에러 -> 1번으로 돌아감 ) 

 Compile성공

  • bytecode 생성 --> Test.class (Assembly 로 만들어짐)
  • Compile Time 의 목적! Bytecode 생성

○ Run Time : CPU, Memory

 JVM (Java Virtual Machine) - OS 위에 있음

  • ClassLoader -> Test.class 읽음
    1. Local
      • 코드 검증기
      • 이때 발생하는 에러 - 로직 error // 로직==흐름 // 찾기 어려움, 에러잡기 어려움
    2. Network : Applet(_더이상 개발하지 않는 죽은 기술)
      • JIT : Wep Browser 설치

⊙ OS (Windows, Linux, Unix, Max OS ...)

  • H/W
    • VGA
      • ---HDMI, DVI 등 선으로 연결---> Monitor ---> 출력

▶ java 코딩 및 실행 순서 다시 보기  // 순차적으로 보면 됨 

○ Compile Time

     1. Source Code 작성 

class Test{
	public static void main(String[] args){
    
    }
}

    2. 저장 : 클래스명.java --> Test.java

    3. 컴파일 : javac 소스파일명.java --> javac Test.java

    4. 실행 : bytecode --> Java 바이트코드명 --> java Test

 Compile실패 - error

  • 코드 작성 규칙 위배 ( 문법 에러 -> 1번으로 돌아감 ) 

 Compile성공

  • bytecode 생성 --> Test.class (Assembly 로 만들어짐)
  • Compile Time 의 목적! Bytecode 생성

○ Run Time : CPU, Memory

 JVM (Java Virtual Machine) - OS 위에 있음

  • ClassLoader -> Test.class 읽음
    1. Local
      • 코드 검증기
      • 이때 발생하는 에러 - 로직 error // 로직==흐름 // 찾기 어려움, 에러잡기 어려움
    2. Network : Applet(_더이상 개발하지 않는 죽은 기술)
      • JIT : Wep Browser 설치

⊙ OS (Windows, Linux, Unix, Max OS ...)

  • H/W
    • VGA
      • ---HDMI, DVI 등 선으로 연결---> Monitor ---> 출력

 


∨ 2020.10.22 배울 예정

더보기

◇ 2020.10.22 배울 예정

책 p. 20 ~ p. 31 ( 변수, 상수, 리터럴_얘만 알아보고 오기 )

  1. 표준 출력 
  2. 데이터 형 
    1. byte
    2. short
    3. int
    4. long
    5. char
    6. float
    7. double
    8. boolean
  3. 형변환
  4. 지역변수 (local)