안녕하세요 땅카입니다 

보기 좋게 정리하는 게 아니라 먼저 죄송하다는 말씀을 먼저 드립니다 하핫

자바 프로그래밍 정리를 시작합니다 

 

CHAPTER01 자바 첫걸음 

1995년 썬마이크로시스템즈가 출시한 자바는 다양한 플랫폼에서 사용할 수 있는 객체지향 프로그래밍 언어이다. 

c나 c++과 비슷하지만 모든 플랫폼에 독립적이다. 

 

자바는 컴퓨터 언어에 이식성과 보안 기능을 높이기 위해 만들어졌다.

 

자바는 인터프리티드 언어(interpreted language)이다. 동시통역인 셈이다. 

(*C, C++은 컴파일된 언어, 미리 번역된 언어라고 생각하면 된다)

 

여기서 퀴즈!

자바는 C언어처럼 포인터가 있을까요~ 없을까요~?

더보기

정답은 X 자바는 포인터를 사용하지 않는다.

 자바같은 고급 프로그래밍 언어들은 기계어로 바꿔줘야하는데 이런 기능은 자바 개발 키트(Java Development Kit, JDK), 자바 런타임 환경(Java Runtime Environment, JRE), 자바 가상 머신(JVM) 내에서 발생한다.

 

자바 개발키트 (JDK) > 자바 런타임 환경(JRE) > 자바 가상 머신(JVM) 

의 관계를 가진다.

 

개발 키트안에 런타임있고 런타임 안에 가상 머신이 있다.

 

자바 개발 키트는 정말 개발을 위한 소프트웨어 개발 환경이다. 컴파일러와 자바 앱 실행기, 애플리뷰어가 있다. 컴파일러는 자바로 작성된 코드를 바이트코드로 변환한다.

 

자바 런타임 환경은 다른 소프트웨어를 실행하도록 설계된 소프트웨어이다. 이 안에 런타임 라이브러리, 클래스 로더, JVM이 포함된다. 자바 프로그램을 실행하려면 JRE가 필요하다. 프로그래머가 아니면 JDK를 설치하지 않아도 된다. JRE만 있으면 다 돌아가니까. 대신 개발은 못함.

 

자바 가상 머신은 자바 코드 또는 앱을 구동하기 위한 런타임 환경을 제공하는 엔진이다. 자바 바이트 코드를 기계어로 변환한다. 이 JVM이 있음으로서 플랫폼 독립적인 자바 소스 코드 실행 방법을 제공한다. 자바 소스 코드를 저수준 기계어로 변환하는 JIT 컴파일러와 함께 제공된다. 

 

자바가 돌아가는 과정은 아래와 같다.

① .java 파일(소스파일)을 만든다

② javac.exe 명령어로 .java 파일을 자바 컴파일러가 컴파일한다 

③ 디스크에 바이트코드로 .class 실행 파일이 생성된다 (* 기계어로 변환되기 전까지 class 파일인거임)

④ java.exe 명령어로 바이트 코드를 기계어로 변환하여 JVM이 있는 모든 플랫폼에서 실행이 가능하다

 

여기서 퀴즈!

1. JVM은 무엇의 일부인가?

2. JVM은 런타임 환경을 제공하는 엔진이 맞는가?

3. JVM은 자바 소스 코드를 어떤 수준의 기계어로 변환하는가?

4. JVM은 자바를플랫폼 독립적으로 만드는가?

더보기

1. JRE의 일부다. JRE는 자바 런타임 환경의 준말이다

2. 맞다

3. 저수준의 기계어로 변환한다

4. 맞다 

여기서 퀴즈!

1. 자바 코드를 작성하려면 자바 개발도구인 JDK가 반드시 설치되어 있어야 한다 (O, X)

2. 자바 코드를 작성하고 이를 컴파일하여 오류를 검사하고 실행 결과를 확인할 수 있는 통합 개발 환경으로 이클립스를 사용한다. (O, X)

3. 자바 설치위치는 반드시 C:\Program Files\java 폴더여야 한다. (O, X)

4. java -version 명령어로 JDK의 버전을 확인할 수 있다. (O, X)

더보기

1. O

2. O

3. X 그냥 내가 정할 수 있음

4. O


첫 클래스 생성하기

F11을 누르면 콘솔창에 코드가 돌아간다(디버그)

 

 

 

자바 프로그램은 하나 이상의 클래스로 구성된다. 

소스파일명 = 클래스명 이어야한다 

 

소스파일은 

패키지 > 클래스 > 메서드 > 처리문(실행문)

의 구조를 가진다

 

패키지는 서로 관련된 클래스의 모음

클래스는 객체지향 언어에서 프로그램을 개발하는 단위

메서드는 수행할 작업을 나열한 코드의 모음, 꼭 하나는 있어야 한다

처리문은 작업을 지시하는 변수 선언, 값 저장, 메서드 호출 등의 코드

 

예약어들을 keyword라고 한다.

얘네들은 오류가 나기 때문에 내가 함부로 똑같이 못쓴다. 

 

static은 클래스의 객체가 존재하지 않더라도 메서드에 엑세스하고 사용할 수 있음을 의미하는 예약된 키워드

void는 메서드에서 아무것도 반환되지 않음을 선언. 메서드는 모든 기본 요소 또는 개체를 반환할 수 있다.

*어렵군!

 

Sytem.out.println()은 항상 큰따옴표를 사용해야한다.

 

여기서 퀴즈!

주석은 실제로 프로그램의 일부로 컴파일 되는가?

더보기

정답 X! 되면 큰 일이지~


온라인 서점 프로젝트 1

public static void main(String[] args){} 에서 main이 메서드이다 

 

.java 파일을 찾고 싶으면 workspace를 검색해서 들어가면 된다.

만약 제출하고 싶은 자바 파일이 있으면 workspace 내부에 원하는 클래스 네임 폴더에 들어가서 찾으면 된다.


연습문제

01. ① 객체지향 ② JRE, JRE, JVM

 

02. ①

 

03. ③

 

04. ④

 

05. ②

 

06. System.out.print or System.out.println

 

07. ①

 

08. ① //   ② /**/

 

09. Welcom to Java객체지향 프로그래밍 언어 (개행되지 않는다)

 

10.

Welcom to Java

객체지향 프로그래밍 언어

 

 

 

 

 

 

+ Recent posts