* 이 글은 책 <자바의 정석 3판 - 남궁성>을 공부한 내용을 바탕으로 작성한 글입니다.
자바언어의 특징
- 운영체제에 독립적이다
일종의 에뮬레이터인 자바가상머신(JVM)을 통해서 가능한 것인데, 자바 응용프로그앰은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.
- 객체지향언어이다
객체지향 개념의 특징인 상속, 캡슐화, 다형성이 잘 적용된 순수한 객체지향 언어라는 평가를 받고 있다.
- 자동 메모리 관리
- 네트워크와 분산처리를 지원한다
- 멀티쓰레드를 지원한다
- 동적 로딩을 지원한다.
실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다. 일부 클래스가 변경되어도 전체 애플리케이션을 다시 컴파일하지 않아도 되며, 애플리케이션의 변경사항이 발생해도 비교적 겆은 작업만으로도 처리할 수 있는 유연한 애플리케이션을 작성할 수 있다.
객체지향 언어
객체지향 개념(규칙)을 사용하는 프로그래밍 언어
1. 캡슐화(Encapsulation): 데이터와 기능을 하나의 객체로 묶어 정보 은닉을 통해 객체 내부 구조를 감춘다.
2. 상속(Inheritance): 기존 클래스의 속성과 메서드를 새로운 클래스에 물려받아 재사용할 수 있다.
3. 다형성(Polymorphism): 같은 이름의 메서드가 상황에 따라 다른 기능을 수행할 수 있다.
4. 추상화(Abstraction): 복잡한 실세계 문제를 단순화하여 표현할 수 있다.
변수
- 변수(variable): 하나의 값을 저장하기 위한 공간
- 상수(constant): 값을 한번만 저장할 수 있는 공간
- 리터럴(literal): 그 자체로 값을 의미하는 것