Java Introduction
Table of contents
Java
What is Programming?
프로그램 : 컴퓨터에게 일을 시키는 명령의 집합**
프로그래밍 언어 : 컴퓨터 명령어
컴파일 : 프로그램이 프로그래밍 언어 문법에 잘 맞는지 확인하고, 컴퓨터가 이해할 수 있는 언어로 번역
컴파일러 : 컴파일작업을 하는 프로그램
즉, 프로그램이란 프로그램에 들어있는 명령집합과 컴파일된 결과물까지 포함
What is Java?
객체 지향 언어로 개발된 프로그래밍 언어
▸ 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여 운영체제와는 독립적으로 동작할 수 있고, 어느 운영체제에서나 같은 형태로 실행될 수 있음
▸ C언어에 객체 지향적 기능을 추가하여 만든 C++과는 다름
▸ 자바는 전 세계에서 가장 많이 사용하는 프로그래밍 언어 중 하나
Features of Java
자바 언어가 가지는 장점
운영체제와는 독립적으로 실행
불필요한 기능을 과감히 제거하여 다른 언어에 비해 배우기가 쉬움
자동 메모리 관리 등을 지원하여 다른 언어에 비해 안정성이 높음
▸ C / C++에서 제공하는 문법인 포인터를 사용하지 않아 메모리를 직접 제어할 수 없지만 오류가 적어짐
▸ 동적 메모리 수거를 가비지 컬렉터가 이요해서 메모리를 효율적으로 관리할 수 있음
연산자 오버로딩을 금지하고 제네릭을 도입함으로써 코드의 가독성을 높힘
객체 지향언어이기 때문에 유지보수가 쉽고 확장성이 좋음
▸ 여러 기계 환경에서 독립적으로 작동하는 안정된 프로그램을 개발하기 위해 자바를 만듦
자바에 관한 수많은 참고 자료를 찾을 수 있음
자바 개발 키트(JDK)가 있음
자바는 오픈소스이고 자바를 활용한 오픈소스가 이미 많이 개발되어 있어서 이들 오픈소스를 연동해 더 풍부한 기능을 빠르게 구현할 수 있다는 장점이 있음
자바 언어가 가지는 단점
실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느림
예외 처리가 잘 되어 있지만, 개발자가 일일이 처리를 지정해 줘야 한다는 불편함이 있음
다른 언어에 비해 작성해야 하는 코드의 길이가 김
What Can Java make?
웹서버
안드로이드 앱 : 안드로이드 폰에서 사용하는 앱을 만들 수 있는 프로그래밍 언어중 하나가 자바
게임 : 마인크래프트
Java History
썬 마이크로시스템즈(Sun Microsystems)사의 제임스 고슬링(James Gosling) 팀에 의해 개발
→ 처음 자바는 가전제품 내에서 동작하는 임베디드 프로그램을 위한 언어로 개발되었음
1991 : 오크(Oak)라는 이름으로 시작, 1996년에 발표된 1.0.2 버전부터 자바(Java)라는 이름을 사용
1998 : J2SE 1.2에서는 웹에서도 자바를 돌릴 수 있게 해 주는 자바 애플릿(Java Applet)이 추가
2009 : 썬 마이크로시스템즈사가 오라클과 인수 합병됨에 따라 자바 또한 오라클로 소유권이 넘어감
Standard of Java
썬 마이크로시스템즈사가 오라클과 인수함 → 자바에 대한 권리 및 유지보수를 오라클에서 수행
초기 버전인 1.0/1.1 버전에서는 JDK(Java Development Kit)를 사용 → JDK 1.2를 발표하면서 J2SE로 변경
J2SE(Java2 Standard Edition) → 2006년 JDK 1.6부터 Java SE(Java Standard Edition)로 변경
가장 최신 버전의 자바는 2014년에 발표된 Java SE 8 버전
현재에는 2017년 제정을 목표로 하는 Java SE 9 버전 제정과 관련된 논의가 계속 진행
자바 최신 표준인 Java SE 8에 대한 더 자세한 사항 확인하기
Representative Site
API Document
ORACLE : JDK에서 제공하는 표준 클래스 라이브러리 설명해 놓은 HTML 페이지