프로그래밍 언어
>기계어 (0,1)
>어셈블리어 (니모닉 기호(mnemonic symbol))
> 고급언어 (C,JAVA) (절차 지향 언어, 객체 지향 언어)
JAVA <플랫폼 독립성이다>
> 제임스 고슬링 (James Gosling)
> 플랫폼 호환성 문제 해결 : C언어같이 플랫폼이 종속되어 있었는데 자바의 JVM(자바가상머신)을 통해 WORA(Write Once Run Anywhere) 실현
단, JAVA언어는 플랫폼 종속적인것이 아니지만 JVM은 플랫폼 종속적이다.
WORA를 가능하게 하기 위한 특징은 아래와 같다.
> 바이트 코드 (Byte Code)
> JVM (Java Virtual Machine)
바이트 코드
> 플랫폼 종속성이 없이 자바 가상 기계인 JVM에 동작하는 바이너리 코드
> 클래스 파일에 저장
> 컴퓨터 CPU에 의해 직접 실행되지 않는다. (JVM이 인터프리터 방식으로 바이트 코드 해석, 해당 플랫폼에서 실행시킴)
자바 가상 기계
> 각기 다른 플랫폼에서 동일한 자바 실행 환경 제공
> 자바 가상 기계는 플랫폼에 종속적이다.
> 자바 가상 기계가 class(클래스) 파일을 실행한다.
JAVA의 특성
> 객체지향 (클래스 계층구조, 상속성, 다형성, 캡슐화)
> 멀티스레드
> 소스(.java) 와 클래스(.class) 파일
클래스 파일에는 단 하나 만의 클래스만 존재.
하나의 소스파일에 여러 클래스를 작성 가능 (단, public 클래스는 하나만 가능하다.)
소스 파일의 이름과 public 으로 선언된 클래스 이름은 같아야 한다.
'2017 > JAVA' 카테고리의 다른 글
Class 이용연습 (Animal Class) (0) | 2017.07.04 |
---|---|
주사위 놀이(java.util.Random) (0) | 2017.07.04 |
기말대비정리 (0) | 2017.06.01 |