JAVA의 특징

1. 배우기 쉽다.
자바와 같은 객체지향 언어의 특징은 복잡하고 다루기 힘든 부분은 모두 제거하고 꼭 필요한 부분들만 적용시켜 프로그래밍을 간편하게 작성하는데 있다.(ex. 포인터)

2. 플랫폼 독립성
운영체제 별로 환경이 다르므로 해당 운영체제에서 돌아갈수 있는 적합한 환경이 필요한데, 자바는 이에 영향을 받지 않는다.

여기서 나오는 자바구현 정신!! Write Once, Use Anywhere !!

Java Virtual Machine(자바가상머신) 이라는 것이 어떠한 운영체제에서도 프로그램이 수행가능하도록 각각의 운영체제에 맞는 작업기준을 조성해준다.

3. 객체지향 프로그래밍
서로 다른 일을 부여받은 하나이상의 “객체”중에서 요청된 일을 처리하기 위해 실천가능한 “객체”를 호출하여 처리하게 하는 것을 말한다.
그리고 이 객체들을 다른 곳에서도 사용할 수 있도록 하는 것(재사용성), 기능을 좀 더 추가하여 “객체”를 확장하는 것을 “객체지향”이라 하며, 프로그래밍에 적용한 것을 객체지향 프로그래밍이라고 부른다.

4.가비지 컬렉션
메모리 영역 중 더이상 사용될 수 없거나 참조되지 않는 영역을 모아 프로그램이 다시 사용할 수 있게 해준다.
즉, 프로그래머 대신 언어 차원에서 메모리에 생성된 무엇인가를 자동으로 소멸시켜주는 것!!

5. 멀티스레드
Thread란 프로그램의 수행단위이다.
즉, Multi Thread는 말 그대로 한 프로그램을 수행하는 단위가 한 개가 아닌 여러 개 있다는 뜻!!