본문 바로가기

궁금 개념정리/자바

JAVA 입문

1) 

썬 마이크로시스템즈에서 1995년 개발한 객체지향 프로그래밍언어. 

제임스 고슬링 외 개발자들이 구현. 처음엔 OAK로 하려다가 JAVA로 변경 

2010년 썬 마이크로가 오라클에 인수되면서 오라클이 저작권을 가져갔고 2017년부터 JAVA EE에 한해 이클립스 재단이 소유권을 가져갔다. 


2) 자바 에디션 분류

JAVA SE(스탠다드 에디션): 표준 에디션으로 자바 핵심기능과 API기능들을 제공

JAVA EE(엔터프라이즈 에디션): 기업에서 운영하는 서버 페이지에 특화된 에디션. JSP, 서블릿 등 웹 애플릿케이션 서버 관련 기술 포함. 

JAVA FX : 데스크톱 애플리케이션 개발, 배포를 위함. 크로스플랫폼 이식, GUI 라이브러리를 제공


2) 절차지향 언어인 C, C++과 다르게 처음부터 객체지향 언어로 개발되었다. 순수 객체지향은 아니며 C의 포인터 기능은 없는 대신 OOP등에 집중했다. 객체 지향의 핵심은 연관된 변수와 메소드를 하나의 그룹으로 묶어 그룹핑하는 것이다. 


3) 플랫폼 독립적인 언어로 C, C++처럼 소스 코드를 기계어로 직접 컴파일하고 링크하지 않고 컴파일러를 통해 바이트코드(기계어로 변환하기 위한 중간코드)인 .class 파일을 생성한다. 파일의 바이트코드를 읽고 기계어로 변경하는 것은 JVM이 실행한다. 즉, 자바로 작성된 프로그램이라면 JVM이 있는한 동작가능하여 가상머신 종속적이라고 볼 수 있다. (+ 해당 운영체제에 JVM을 설치하면 윈도우용, 맥용 등을 따로 제작하지 않아도 기기 호환이 된다)


4) 단점

실행과정에서 JVM이 완벽하게 로딩되어야 하기에 프로그램 초기 시작때 시간이 오래걸린다. 



5) JVM, JRE, JDK

JVM: 바이너리 코드를 읽고, 검증하고, 실행한다. 실행환경 규격을 제공한다. 

JRE(JAVA RUNTIME ENVRIONMENT): 자바 실행환경. JVM 동작때 필요한 라이브러리 파일 등을 가지고 있다. 

JDK(JAVA DEVELOPMENT KIT): JRE + 개발툴. JAVA.EXE, JAVAC.EXE를 포함하고 있다. 


* JDK 버전)

 1. OPEN JDK     -  자바 플랫폼, 스탠다드 에디션(JAVA SE)의 자유-오픈 소스 구현체이다. 

 2. ORACLE JDK   - openJDK에 없는 재산권이 걸린 플러그인을 제공한다. 

 - openJDK에 없는 대표 기능으로 글꼴 라이브러리, JAVA WEB START가 있어 사용자의 웹 브라우저에서 자바 애플릿 실행시 필요하다. 

- TCK 인증을 받은 JDK 기반의 빌드 버전을 사용하면 운영 환경에 아무런 문제가 없다.  

'궁금 개념정리 > 자바' 카테고리의 다른 글

클래스, 인스턴스, 메소드  (0) 2019.03.14
기본 입출력 방식  (0) 2019.03.14
자바 컬렉션  (0) 2019.03.13
자바 컴파일러, 인터프리터  (0) 2019.03.12
이클립스 단축키  (0) 2019.03.12