📍JAVA
- 플랫폼 독립성
(<-> 플랫폼 종속성 : 기존 프로그래밍 언어들(C, C++등 )의 컴파일러는 기계어 코드로 변환할 때 프로그램이 실행될 대상 컴퓨터의 CPU와 운영체제에 종속적인 코드로 변환한다)
한번 쓰기로 어디서나 실행가능
자바는 JVM(Java Virtual Machine)이 있으면 어디서나 자바로 작성된 프로그램에 동일한 실행 환경을 제공하며 동일한 실행결과를 기대할 수 있다.
즉, 한 번 프로그램을 작성하면 어느 하드웨어에서나 어느 운영체제에서나 자바 프로그램을 실행시킬 수 있다.
기존 프로그래밍 언어들(C, C++등 )을 예로 들면
Intel CPU를 가진 리눅스 환경에서 개발한 응용 프로그램은 Intel CPU + 리눅스를 제외한 다른 운영체제와 호환되지 않는다
JAVA는 개발자가 한 전 자바 응용프로그램을 작성하면 어떠한 운영체제에서든지 호환이 된다.
바이트 코드
로 컴파일하여 클래스 파일을 생성.바이트 코드
를 하나씩 실행.javac
자바 소소를 바이트 코드로 변환하는 컴파일러
java
jre의 bin 디렉토리에도 동시에 설치되어 자바 응용프로그램 실행기
javadoc
자바 소스 프로그램으로부터 HTML형식의 API 도큐먼트 생성
jar
자바 클래스 파일을 압축한 자바 아카이브 파일(JAR)을 생성하고 관리하는 유틸리티
jbd
자바 응용프로그램 실행 중 오류 찾는 데 사용하는 디버거
javap
클래스 파일에 담긴 바이트 코드를 자바 소스와 함께 보여주는 디어셈블러
appletviewer
웹 브라우저 없이 애플릿 응용프로그램을 실행하고 디버깅하는 유틸리티
//jimin.java
public class jimin { // class 명과 .java 파일명이 동일해야 한다.
public static void main(String[] args){ // 프로그램 실행은 main()메소드부터 시작
var i = "world!"; //지역변수 선언
System.out.println("hello"+i); //System.out.println()은 JDK에서 개발자에게 제공하는 자바API
}
객체 지향
클래스 계층 구조, 상속성, 다형성, 캡슐화 등을 지원
멀티스레드
하나의 프로그램에서 운영체제 도움없이 다수의 스레드 동시 실행 가능
플랫폼 독립성
JVM를 사용하여 하드웨어나 운영체제를 막론하고 실행 가능
소스와 클래스 파일
하나의 자바소스 파일에 여러 개의 클래스 작성 가능
하나의 클래스 파일에서는 반드시 하나의 컴파일.class
된 자바 클래스만 포함
public class A{ //A.class
...}
class B{ //B.class
...}
class C{ //C.class
class D{ //C$D.class
...}
...}