on my way

이것이 자바다 Chapter01. 자바 시작하기 본문

Computer Science/JAVA

이것이 자바다 Chapter01. 자바 시작하기

wingbeat 2024. 3. 13. 09:17
반응형

0. Intro

안다: 해봄, 남한테 설명 → 배움, 복습, 스스로 정리(output) → 반복 (습관:66일)

프로젝트1. java+db+jquery

프로젝트2. react+spring boot

 

CS지식: 프로그래밍 언어, DB, OS, 자료구조, 네트워크

정보처리기사를 따자.

모르는 것은 암기해라.

Data Science → 데이터 수집, 분석(통계),ML-AI, service, 생성형AI

 


PART1. 자바언어기초

1.1 프로그래밍 언어와 자바

실행파일은 bin폴더에 들어있다

conf(configration) - 설정

lib(library) - 라이브러리

 

1.2 운영 체제별 JDK 설치

JDK(Java Development Kit) → tomcat, eclipse, Hadoop(JAVA_HOME 변수 사용), Kafka

IDE(Integrated Development Environment) → eclipse, intelliJ

JVM(Java Virtual Machine) : 가상머신. java실행시키면 jvm이 대신 실행해줌.

 

\ : 윈도우에서 폴더구분자

/ : 리눅스(유닉스,맥)에서 디렉토리 구분자 ex. /Users/abc

 

1.3 윈도우 환경 변수 설정

  1. JAVA_HOME 환경변수 - D:\java\jdk17
  2. PATH 환경변수에 추가 = %JAVA_HOME%\bin

값이 변수에 담긴다.

시스템 변수 - 시스템(윈도우)에 대한 변수

java 1.5 1.6 1.7 // 1.8 -> 8

11, 14, 17 (위버전->아래버전 compile 변경 가능)

eclipse installation Folder → D:\java

 

1.5 바이트코드 파일과 자바 가상 머신

사람→명령→컴(0,1) : 기계어로 변환 시켜줘야 함

컴파일 언어 : 소스 → 기계어

인터프리터 언어 (Python) : 소스 → 바로바로 실행해서 번역 (느림). 라이브러리들이 c로 만들어져 빠른 것.

 

JIT 언어 : 컴파일 행위는 하지만, byte code로 나옴. 소스→(컴파일)→바이트코드→(JVM)

소→컴→바는 이클립스가 해줌.

 

java 특징

  1. 모든 운영체제에서 실행가능그러나 java는 어디서든 실행가능 (이유는 jvm때문)
  2. C 경우 → (window에서 실행) → 기계어 → 실행 (but linux에서는 안됨)
  3. 객체지향 프로그래밍 : 객체끼리 연결해서 큰 프로그램을.
  4. 메모리 자동 정리 : 원래는 직접 개발자가 해제해야함
  5. 무료 라이브러리 풍부

자바 가상 머신 JVM

바이트코드 파일(.class)를 기계어로 번역하고 실행하는 명령어는 java

.java → javac 명령어로 컴파일 → .class⇒ java명령어 (실행)

 

자바 프로그램을 실행시키는데 필요한 것이 바로 jre(Java Runtime Environment)이고 자바 프로그램을 개발하는데 필요한 것이 jdk(Java Development Kit)이다. jdk를 다운로드 받으면 jre도 포함되어 있어 개발한 자바 프로그램을 실행시키는 것까지 가능하다.

자바 프로그램을 실행시키는데는 문제가 없지만 자바 프로그램을 코딩할 때 jdk가 아니라 jre를 사용하면 문제점이 생길 수 있다.

예를 들어 컴파일이 정상적으로 되지 않을 수도 있다.

 

1.8 이클립스 프로젝트 생성

class파일

src: source는 소스파일

bin: binary는 실행파일

perspective가 존재한다. 바꿀 수도 있다.

 

라이브러리 : 도서관 (미리 만들어놓은 프로그램) 조합해서 큰 프로그램

→ pip, stl, npm, jquery(html 클라이언트 단순화), react.js

프레임워크 : 스프링, django, flask, android, angular, vuejs

jar - java archieve : class들을 모아둔 것.

 

프로젝트 시작

src 폴더에 .class파일을 생성한다.

클래스의 첫글자를 대문자로.

 

java의 main. java는 함수가 없다. 메인 method안에서 코딩하면 실행이 된다.

sysout + ctrl + space → 단축키

ctrl + F11 → RUN

cd D:\\java\\workspace\\hello\\bin
D:\\
java hello.Hello

ASCII (American Standard C

A-65, B-66

euc-kr → utf-8

character encoding set (문자 인코딩 집합)

character set (문자 집합)

 

1.9 이클립스 소스 작성부터 실행

src에 new로 패키지를 생성해보자.

package ch01.sec09 형식으로 . 작성하면 자동으로 폴더생성

계층적으로 표현 가능

Hello클래스는 ch01안에 sec09안에 있다. ch01>sec09

 

package를 왜 만드나 → 관리를 위해.

똑같은 이름의 클래스를 각각의 패키지에

1자바파일엔 1클래스 (아닌 경우도 있음)

 

java의 기준은 중괄호{}이다. (그러나 띄어쓰기는 기본)

java의 끝에는 ; 찍어야 함.

주석은 //행주석, /범위주석/, /*도큐먼트주석/

 

단축키

복붙 : Ctrl+C → Ctrl+alt+방향키

주석 : Ctrl + /

package ch01.sec12;

public class Calculator {
	
	public static void main(String[] args) {
		int x = 1; // 선언+초기화
		int y = 2;
		int z; // 선언(정의)
		z = 3; // 초기화
		int result = x + y;
		System.out.println(result);
		System.out.println(z);
	}
}

확인 문제

1번

자바 언어의 특징을 잘못 설명한 것은 무엇입니까?

④ 개발자가 코드로 메모리를 관리해야 한다.

자바는 메모리(RAM)를 자동 관리하므로, 개발자는 메모리 관리의 수고스러움을 덜고 핵심 기능 작성에 집중할 수 있다.

2번

Open JDK와 Oracle JDK를 잘못 설명한 것은 무엇입니까?

② Oracle JDK는 개발 소스 공개 의무가 없지만, Open JDK는 있다.

Open JDK, Oracle JDK 모두 개발 소스 공개 의무는 없다.

3번

환경 변수에 대해 잘못 설명한 것은 무엇입니까?

④ 환경 변수를 수정하면 기존 명령 프롬프트 또는 터미널에서 바로 적용된다.

4번

자바 가상 머신(JVM)에 대해 잘못 설명한 것은 무엇입니까?

③ JVM은 운영체제에 독립적이다(운영체제별로 동일한 JVM이 사용된다.)

운영체제 별로 실행되는 JVM이 다르다.

5번

자바 프로그램 개발 과정을 순서대로 적어보세요.

3 ⟶ 1 ⟶ 2 ⟶ 4

자바 소스 파일(~.java)을 작성한다.

javac.exe로 바이트코드 파일(~.class)을 생성한다.

java.exe로 JVM을 구동시킨다.

JVM은 main() 메소드를 찾아 메소드 블록을 실행시킨다.

6번

자바 소스 파일을 작성할 때 잘못된 것은 무엇입니까?

④ 주석은 문자열 안에도 작성할 수 있다.

주석은 문자열 안에서는 불가능하다.

7번

이클립스의 특징을 올바르게 설명한 것을 모두 선택하세요.

① 오픈 소스 통합 개발 환경(IDE)이다.

③ 워크스페이스(Workspace)는 프로젝트들이 생성되는 기본 디렉토리를 말한다.

8번

다음과 같이 출력되도록 Example.java를 패키지 ch01.verify 에서 작성해보세요.


개발자가 되기 위한 필수 개발 언어 Java


public class Example {
    public static void main(String args[]) {
        System.out.println("개발자가 되기 위한 필수 개발 언어 Java");
    }
}

 

반응형