본문 바로가기

Java

[Chapter01]자바 언어 소개

0. 프로그램이란 무엇인가?


  •  프로그램이란?

- 명령어의 모음인 컴퓨터 소프트웨어의 한 예이다

- 대부분의 프로그램은 실행 중 ( 명령어를 불러들일 때)에 사용자의 입력에 반응하도록 구현된 명령어의 집합으로 구성되어있다

- 대부분의 프로그램은 하드디스크 등의 매체에 바이너리 형식의 파일로 저장되어 있다가 사용자가 실행시키면 메모리로 적재되어 실행된다

 

  • 프로그래밍 언어란?

- 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어이다

- 고급 언어일수록 사람이 사용하는 언어에 가깝다

- 일반적으로 말할 때에는 프로그래밍 언어를 지원하는 소프트웨어, 곧 소프트웨어를 작성하기 위한 소프트웨어를 가리키는 때가 많고, 이때에는 프로그래밍 언어와 소프트웨어를 구분하지 않고 소프트웨어를 프로그래밍 언어로 보기도 한다

 

1. 자바의 역사


  • 자바의 역사

- SUN사의 제임스 고슬링을 비롯한 Green연구팀에서는 1980년 말에 전자제품끼리 정보를 주고 받을 수 있는 시대가 올 것을 예상하여 전자제품의 플랫폼에 영향을 받지 않는 Green 프로젝트를 시작했다

- 기계의 OS에 상관없이 실행할 수 있는 웹 언어를 연구하여 Java라는 이름을 붙였다

- 자바는 버전이 바뀔 때 마다 자바의 안정성, 성능, 호환성이 향상되고 있다

 

  • 자바의 특징

- 높은 이식성

- 객체 지향 (OOP)

- 분산처리에 용이하다

- 유지보수에 용이하다

 

2. 자바 플랫폼 종류


  • 자바 플랫폼 종류
Java SE
(Standard Edition)
Java EE
(Enterprise Edition)
Java ME
(Micro Edition)
데스크 탑과 서버에서 자바 애플리케이션을 개발하기 위한 플랫폼 기업용 애플리케이션을 개발하는 데 필요한 여러가지 도구 및 라이브러리를 지원하는 플랫폼 핸드폰, PDA, 프린터와 같은 모바일 기기나 다른 임베디드 장치 실행 프로그램을 위한 플랫폼

 

  • 자바 플랫폼 구조

자바 플랫폼 = 자바 API + 자바 가상 머신(JVM)

 

                  * 자바 API: 자바 개발 환경에서 제공되는 거대한 클래스 라이브러리

                    JDK 설치 후 JDK 경로에 추가된 rt.jar파일이 대표 API 압축파일임

 

                  * 자바 가상 머신(JVM): 컴파일 후 생성된 바이트 코드를 기계어로 실행시켜주는 가상기계

 

3. 환경변수 설정 (Java SE JDK 경로 설정하기)


  • 환경변수 설정하기

 

1) 환경 변수에 JAVA_HOME 설정 ex) C:\Program Files\Java\jdk1.8.0_131

2) Path에 %JAVA_HOME%\bin 설정

 

 

 

  • 환경변수 설정하는 이유

: 명령 프롬프트(cmd)에서 직접 자바 컴파일을 하기 위해서, 폴더 경로와 상관없이 파일이름만 입력하여 실행하기 위해서

 

즉, 자바 사용 시 환경변수를 설정하면 자바 설치 폴더까지 이동해서 명령어를 사용할 필요 없이 cmd를 눌러서 바로 자바를 사용할 수 있음

 

4. 클래스의 정의


  • 클래스란?

: 특정 종류의 객체 내에 있는 변수와 메소드를 정의하는 일종의 틀, 즉 템플릿을 의미한다

 

 

  • 클래스 정의 방법
(1) package 선언
(2) import 구문
(3) class 클래스 이름 {
    (4) 멤버변수
    (5) 생성자
    (6) 메소드
}

 

5. 주석문(comment)


  • 주석문이란?

: 코드의 이해를 돕기 위한 설명을 적어놓는 곳

 

  • 주석문의 종류

(1)   /** 주석*/

/**에서 */까지 컴파일 시 무시, 선언문 앞에서만 사용 가능 -> 나중에 자바도큐먼트 형태로 자동생성기능 있음

 

(2)   /* 주석*/

 

'Java' 카테고리의 다른 글

[chapter 05 ] 배열  (0) 2021.12.09
[Chapter11] 제네릭과 컬렉션  (0) 2021.12.08
[Chapter07-2] 객체지향 프로그래밍1  (0) 2021.12.07
[Chapter07-1] 객체지향 프로그래밍1  (0) 2021.12.06
[Session] 세션 시간 및 연장 설정  (0) 2021.05.12