반응형

출처:이것이 자바다 

자바 시작하기

1.1 프로그래밍 언어란?

기계어는 01로 이루어진 이진 코드이기 때문에 사람이 이해하기에는 매우 어렵다.

사람의 언어와 기계어의 다리 역할을 하는 프로그래밍 언어

=>프로그래밍 언어:

==>고급언어: 컴퓨터와 대화할 수 있도록 만든 언어 중에서 사람이 쉽게 이해할 수 있는 언어      

고급언어로 작성된 소스는 컴퓨터가 바로 이해할 수 없기 때문에 컴파일 과정을 통해서 컴퓨터가 이해할 수 있는 01로 이루어진 기계어로 변환한 후 컴퓨터가 사용하게 됩니다.

==>저급언어: 기계어에 가까운 언어를 말하는데, 대표적으로 어셈블리어가 저급 언어에 속한다.

저급언어는 사람이 쉽게 이해할 수 없기 때문에 배우기가 매우 까다롭다.

 

대표적인 프로그래밍 언어 c , c++, java

이 언어들로 작성된 내용을 소스라고 부르고, 이 소스는 컴파일러라는 소프트웨어에 의해 기계어로 변환된 후 컴퓨터에서 실행할 수 있게 된다.

프로그램이란 컴퓨터에서 특정 목적을 수행하기 위해 프로그래밍 언어로 작성된 소스를 기계어로 번역한 것을 말한다.

 

1.2 자바란?

1.2.3 자바 소개

1995년 썬 마이크로시스템즈

자바는 1991년에 썬의 엔지니어들에 의해서 고안된 오크(Oak)라는 언어에서부터 시작되었다.

오크는 가전제품에서 사용될 목적이었다.

자바는 메모리 및 cpu를 지나치게 많이 사용학 때문에 윈도우 프로그래밍 언어로는 부적합하다는 문제점이 있다. 하지만 1999년부터 인터넷이 활성화되면서 웹 애플리케이션 구축용 언어로 자바가 급부상해다.

금융, 공공, 대기업 등의 엔터프라이즈 기업 환경에서 실행되는 서버 애플리케이션을 개발하는 중추적인 언어로 자리매김하고 있다.

 

1.2.2 자바의 특징

=>이식성이 높은 언어이다.

다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것을 말한다.

자바는 자바 실행 환경(jre:java runtime environment)이 설치되어 있는 모든 운영체제에서 실행 가능하다.

=>객체지향 언어이다.

OOP(Object Oriented Programming)

캡슐화,상속, 다형성 기능

=>함수적 스타일 코딩을 지원한다.

람다식을 자바 8부터 지원한다.

=>메모리를 자동으로 관리한다.

c++은 메모리에 생성된 객체를 제거하기 위해 개발자가 직접 코드를 작성해야 한다. 잘 하지 않을 경우 프로그램이 다운되는 현상을 겪게 된다.

java는 개발자가 직접 메모리에 접근할 수 없도록 설계되었으며 , 메모리는 자바가 직접 관리한다.

객체 생성 시 자동으로 메모리 영역을 찾아서 할당하고 ,사용이 완료되면 쓰레기 수집기(Garbage Collector)를 실행시켜 자동적으로 사용하지 않는 객체를 제거시켜준다.

=>다양한 애플리케이션을 개발할 수 있다.

Java SE(Starndard Edition) - 기본 에디션

Java SE는 자바 프로그램들이 공통적으로 사용하는 자바 가상 기계(JVM: Java Virtual Machine)를 비롯해서 자바 프로그램 개발에 필수적인 도구와 라이브러리 API를 정의한다. 클라이언트와 서버 프로그램에 상관없이 자바 프로그램을 개발하기 위해서는 반드시 Java SE 구현체인 자바 개발 키트(Java Development Kit)를 설치해야 한다.

Java EE(Emterprise Edition) - 서버용 애플리케이션 개발 에디션

분산 환경(네트워크 ,인터넷)에서

서버용 애플리케이션

분산 처리 컴포넌트인 EJB(Enterprise Java Bean )그리고 XML 웹 서비스 등

=>멀티 스레드를 쉽게 구현할 수 있다.

하나의 프로그램이 동시에 여러 가지 작업 처리

=>동적 로딩(Dynamic Loading)을 지원한다.

객체가 필요한 시점에 클래스를 동적 로딩해서 객체를 생성한다. 유지보수를 쉽게 빠르게 진행 할 수 있다.

=>막강한 오픈소스 라이브러리가 풍부하다.

 

1.2.3 자바 가상 기계(JVM)

자바 프로그램은 완전한 가계어가 아닌 ,중간 단계의 비이트 코드

JVM은 운영체제에 종속적이다.

 

1.3 자바 개발 환경 구축

1.3.1 자바 개발 도구 (JDK)설치

JDK (Java Development Kit) : 자바 개발 키트 : 프로그램 개발에 필요한 자바 가상 기계 , 라이브러리 API,컴파일러 등의 개발 도구가 포함

JRE (Java Runtime Environment) : 자바 실행 환경 : 프로그램 실행에 필요한 자바 가상 기계(JVM). 라이브러리 API만 포함되어있다.

JRE =  JVM + 표준 클래스 라이브러리

JDK =  JRE + 개발에 필요한 도구

https://www.oracle.com/index.html 자바 8이상

 

=>환경설정 추가

 

 

 

JAVA_HOME은 이책에서 필요없다.

Path만 설정하면 된다.

 

환경 변수 Path가 잘 적용되었는지 체크하기 위해 명령 프롬프트를 실행하고 (기존에 실행된 명령 프롬프타가 있다면 닫고 새로 열어야 된다.)

명령어 : javac -version

 

1.3.2 API 도큐먼트

API(Application Programming Interface)

https://docs.oracle.com/javase/8/docs/api/

 

1.4 자바 프로그램 개발 순서

1.4.1 소스 작성에서부터 실행 까지

java.exe명령어가 실행되면 jvm은 바이트 코드 파일(Hello.class)을 메모리로 로드하고, 최적의 기계어로 번역하ㄴ다. main()메소드를 찾아 실행시킨다.

 

[Hello.java] 자바 소스 파일

public class Hello {

           public static void main(String[] args) {

                       System.out.println("Hello, welcome to the java world!");

           }

}

 

1.4.2 프로그램 소스 분석

클래스 : 필드 또는 메소드를 포함하는 블록

메소드 : 어떤 일을 처리하는 실행문들을 모아 놓은 블록

메소드 블록은 단독으로 작성될 수 없고 항상 클래스 블록 내부에서 작성되어야 합니다.

클래스의 이름: 주의할 점은 소스 파일명과 대소문자가 일치해야 한다. 그리고 숫자로 시작할 수 없고 , 공백을 포함해서도 안 된다.

java.exeJVM을 구동시키면 제일 먼저 main()메소드를 찾아서 실행시킨다. 프로그램 실행 진입점(entry point)라고 한다. main()메소드가 없는 클래스를 java.exe로 실행시키면 에러 메시지가 나타난다.

 

1.5 주석과 실행문

1.5.1 주석 사용하기

컴파일 과정에서 주석은 무시되고 실행문만 바이트 코드로 번역된다.

//

/* ~ */

/** ~ */ =>도큐먼트 주석 javadoc.exe명령어로 APTI도큐먼트를 생성하는데 사용한다.

 

[Hello.java] 주석 사용하기

public class Hello {

           //프로그램 실행 진입점

           public static void main(String[] args) {

                       //콘솔에 출력하는 실행문

                       System.out.println("Hello, welcome to the java world!");

           }//end of main

}//end of class

 

1.5.2 실행문과 세미콜론(;)

; 실행문이 끝났음을 표시해준다.

 

[RunStatementExample.java] 실행문과 세미콜론(;)

public class RunStatementExample {

           public static void main(String[] args) {

                       int x = 1; //변수 x를 선언하고 1을 저장

                       int y = 2; //변수 y를 선언하고 2을 저장

                       int result = x + y;//변수 result를 선언하고 x y를 더한 값을 저장

                       System.out.println(x+"+" +y +"="+result);//콘솔에 출력하는 메소드 호출

           }

}

 

1.6 이클립스 설치

1.6.1 이클립스 소개

디버깅이란 모듸 실행을 해서 코드의 오류를 찾는 것을 말한다.

이클립스는 자바 프로그램을 개발하기 이한 통합 개발 환경(IDE: Integrated Development Environments)

 

1.6.2 이클립스 다운로드

https://www.eclipse.org/

Eclipse IDE for Java EE Developsers

 

1.6.3 워크스피이스

디렉토리설정

[File - Switch Workspace - Other .. ]에서 변경

 

1.6.4 퍼스펙티브와 뷰

perspective

 

Console View

[Window -> Show View -> Console]

 

1.6.5 프로젝트 생성

[File -> New -> Java Project]

1.6.6 소스 파일 생성과 컴파일

[프로젝트 마우스 오른쪽 -> New -> Class]

 

에디터의 행번호를 보고 싶다면 메뉴에서

방법 1:

[Window -> Preferences] 를 클릭하고 트리 메뉴에서 [General -> Editors -> Text Edtors] =>show line numbers

방법 2:

클래스의 부분을 오른쪽 마우스 클릭하면 Show line numbers를 체크하면 된다.

 

bin디렉토리를 보고 싶다면

[Window -> show View -> Navigaor]를 선택하면 된다.

 

1.6.7 바이트 코드 실행

[class 마우스 오른쪽 버튼 -> Run As -> Java Application]

ð  console뷰에서 보인다.

 

1.7 풀인원 설치와 실행

학습 자료

www.hanbit.co.kr.exam/2147 소스 다운

 

연습문제

1. JDK JRE의 차이점을 설명한 것 중 틀린 것은 무엇입니까? (4)

 

1. JDK JRE와 컴파일러 등의 개발 도구가 포함된다.

2. 자바 프로그램을 개발하려면 JDK가 반드시 필요하다.

3. 자바 프로그램을 실행만 하려면 JRE를 설치해도 상관없다.

4. JRE에는 컴파일러(javac.exe)가 포함되어 있다.

 

JDK = JRE + 개발에 필요한 도구

JRE에는 프로그램 실행에 필요한 자바 가상 기계(JVM) , 라이브러리 API만 포함되어 있다.

 

2. JVM에 대한 설명으로 틀린 것은 무엇입니까? (3)

 

1. JVM java.exe 명령어에 의해 구동된다.

2. JVM은 바이트 코드를 기계어로 변환시키고 실행한다.

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

4. 바이트 코드는 JVM에 독립적이지만, JVM은 운영체제에 종속적이다.

 

JVM은 운영체제에 종속적이다.

 

3. 자바 프로그램 개발 과정을 순서대로 나열하세요.

 

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

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

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

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

 

3 -> 1 -> 2 -> 4

 

4. 자바 소스 파일을 작성할 때 틀린 것은 무엇입니까? (4)

 

1. 자바 소스 파일명과 클래스 이름은 대소문자가 동일해야 한다.

2. 클래스 블록과 메소드 블록은 반드시 중괄호 {} 로 감싸야 한다.

3. 실행문 뒤에는 반드시 세미콜론(;)을 붙여야 한다.

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

 

5. 자바 주석문의 종류가 아닌 것은 무엇입니까? (4)

 

1. // : 행 주석

2. /* */ : 범위 주석

3. /** **/ : API 도큐먼트 주석

4. <!-- --!> : 범위 주석

 

6. 이클립스에 대한 설명으로 틀린 것은 무엇입니까? (4)

 

1. 이클립스는 JDK (JRE)를 설치해야만 실행할 수 있다.

2. 이클립스에서 소스 파일을 저장하면 자동 컴파일되어 바이트 코드 파일이 생성된다.

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

4. .metadata는 프로젝트의 소스 파일들이 저장되는 디렉토리이다.

 

 

 

 

반응형

' > 이것이 자바다' 카테고리의 다른 글

06. 클래스  (0) 2020.09.28
05. 참조 타입  (0) 2020.09.27
04. 조건문과 반복문  (0) 2020.09.26
03. 연산자  (0) 2020.09.24
02.변수와 타입  (1) 2020.09.22

+ Recent posts