자바 강의 내용 정리
자바에 대해서
- 개발자: 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들
- 탄생일: 1995년
- 탄생목적 및 현재사용: 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발했지만 현재는 웹 애플리케이션과 모바일 앱 개발에 가장 많이 사용하는 언어로 성장
자바의 주요 특징
1. 간단함
- 자바는 고급 언어들에 들어 있는 여러 가지 요소들 중에서 반드시 필요하지 않다고 생각된 부분들은 모두 제거
2. 객체지향적
- 자바는 숫자(int, float, long 등)나 논리값(true, false)을 제외한 거의 모든 것이 객체로 구성
- 자바는 Object 클래스에서 모든 클래스를 파생
3. 인터프리터 언어
- 정확하게 말하면 컴파일 언어인 동시에 인터프리터 언어
- 먼저 텍스트 소스를 컴파일하여 2진 파일(클래스 파일)로 만든 다음 자바 런타임이 클래스 파일을 인터프리트하면서 실행
4.강력함
- 모든 메모리 접근을 자바 시스템이 관리하고 제한하며 또한 예외 핸들링을 하여 시스템 붕괴의 우려가 없음
- 자바는 리소스 관리(garbage collection)를 하는데 사용이 끝난 리소스를 시스템이 메모리에서 삭제하는 방식을 채택하고 있어 메모리 누출에 대한 고민을 프로그래머가 할 필요가 없음
5. 안전
- 자바는 일단 컴파일만 되면 실행 시 오류가 발생하는 경우가 다른 언어에 비해 현저히 낮음
6. 독립적 플랫폼
- 자바의 실행 파일은 이진 코드(클래스) 파일, 따라서 자바 런타임이 설치된 시스템에서는 어디서나 자바 프로그램을 실행할 수 있음
- 한번 작성한 프로그램은 OS(Operating System)에 상관없이 어디서든 돌려볼 수 있다는 점
6.멀티 쓰레딩 지원
- 하나의 프로그램 단위가 동일한 쓰레드를 동시에 수행할 수 있음
- 멀티 프로세서 하드웨어를 지원하도록 설계되었으므로 멀티 CPU 시스템에서 높은 효율을 낼 수 있음
7. 동적
- 자바 인터페이스를 이용하면 하나의 모듈을 갱신할 때 다른 모듈을 모두 갱신할 필요가 없음
- 인터페이스가 모든 인스턴스 변수와 도구의 실행문을 배제한 채 객체 간의 상호 작용을 정의하기 때문