재밌고 어려운 IT를 이해해보자~!

Section 01. 자바 프로그래밍의 기본 본문

JAVA Book Study

Section 01. 자바 프로그래밍의 기본

언제나즐거운IT 2023. 12. 12. 23:57

01. 자바의 과거와 현재

 

JAVA는 1991년 개발된 객체 지향 프로그래밍 언어이다.

게임, 웹 서버, 안드로이드 앱 어플리에키션등 다양한 프로그램을 개발하는데 쓰인다.

오래가면 좋겠다 :D

 

JAVA도 원래는 임베디드용 언어로 시작했지만 인터넷의 등장과 함께 웹환경에 적합하도록 개발 방향을 바꾸면서 JAVA라는 이름이 탄생했다. 1996년생으로 나보다 3살 어리다....

 

JDK버전은 1.0부터시작해 현재 21.01까지등장.

 

 

 

 

자바의 특징

객체지향적 ▶ 상속,추상화, 캡슐화 다형성.

단순성 ▶ 포인터가 사라졌다!!! 혼란을 일으키는 불필요한 기능제거 ..!!!

이식성 ▶ JVM을 이용해 운영체제 종류와 상관없이 어느환경에서나 실행 가능.

멀티스레드 ▶ CPU최대 활용을 위해 프로그램의 2가지 이상을 동시에 실행 가능.

*동시성 : 하나의 코어에서 멀티스레드가 번갈아 가며 실행.

*병렬성 : 멀티 작업을 위해 멀티 코어에서 개별 스레드를 동시에 실행.

메모리 자동 정리 ▶ 자동으로 가비지컬렉터(GC)가 사용하지 않는 메모리를 주기적으로 수거하고 관리.

풍부한 오픈소스 라이브러리 ▶수많은 라이브러리 무료제공. 개발시간 단축, 안정성 증가.

 

02 자바 개발 환경 준비하기

1. JDK 설치

2. 시스템 환경 변수 설정

컴파일러인 javac.exe, 프로그램을 실행해주는 java.exe는 자바 프로그램을 개발할 떄 항상 사용하게 되므로 
어느 디렉토리에서든 사용할 수 있도록 path변수를 통해 경로를 찾아 참조하게 만든다.

3. 이클립스 설치

이클립스는 통합개발환경 (Integrated Development Environment, IDE) 으로 프로젝트 생성, 자동 코드 완성, 디버깅등 다양한 기능을 제공하는 편집 툴.

03. 자바 첫 프로그램 만들기

JAVA project -> package -> class 만들고 

코드 입력후 Run! 

package section01;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Hello 

{
	
	public static void main(String[] args) throws IOException {
		final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		
		String input = br.readLine();
		String[] inputWord = new String[3];
		inputWord = input.split(" ");
		StringBuilder output = sb.append(inputWord[0]).append(" ").append(inputWord[1]).append(" ").append(inputWord[2]);
		System.out.println(output);
		
		
	}
}

입력 & 출력

04. 프로그램 기본 구조 및 주석과 실행문

C프로그램은 기계어로 컴파일하므로 HW운영체제에 맞게 컴파일되어야 하지만, 자바 가상 머신은 운영체제마다 따로 코드를 작성해야하는 번거로움이 없다.

자바 - '플랫폼에 독립적'

C - '플랫폼에 종속적'

 

자바의 기본구조 

----소스파일

---클래스

--메서드

-실행문

 

주석

// 행주석

/* .. */ 범위주석

/** ... */ API만들때 사용하는 주석

 

세미콜론 ( ; ) 이 나오기 전까지 한문장으로 인식한다!

 

 

'JAVA Book Study' 카테고리의 다른 글

Section 06. 배열  (0) 2023.12.17
Section 05. 제어문 - 2  (0) 2023.12.17
Section 04. 제어문 - 1  (0) 2023.12.17
Section 03. 연산자  (2) 2023.12.17
Section 02. 변수와 자료형  (0) 2023.12.17
Comments