PS) 컴파일 언어와 스크립트 언어의 차이?
동적 타이핑 - 동적 타입언어이다. 변수의 자료형을 지정하지 않고 선언하는 것만으로 값을 지정할 수 있다. 변수의 자료형은 코드가 실행되는 지점에 결정된다. 코드 실행도중 예상하지 못한 타입으로 에러가 발생 할 수 있다.
플랫폼 독립적 : 어떤 운영체제이든 모두 동작한다.
객체 지향 언어이다.
객체 지향 언어 : 하나의 기능을 객체 형태로 만들어 객체들을 결합해 하나의 프로그램을 만드는 것
인터프리터/ 컴파일 언어
독립적인 플랫폼 : 어떤 운영체제에서도 사용가능(JVM)
자동 메모리 관리 : 개발자가 직접 메모리에 접근할 수 없고 자바가 직접 관리한다.
멀티 쓰레딩 지원 : 하나의 프로그램 단위가 동일한 쓰레드를 동시에 수행할 수 있다. 오류 발생 시 발생한 오류의 클래스만 수정하면 되므로 전체 수정이 필요없다. 유지보수가 빠르고 쉽다.
안전하고 강력 : 메모리 접근을 자바 시스템이 관리해 시스템 붕괴 우려가 없음, 포인터 개념이 없고 유형정의가 강고해 실행전 클래스 파일을 이용한 프로그램 검사가 가능
고성능 어플리케이션 개발이 가능하다 : JVM을 돌려야해 속도는 느리지만 엔터프라이즈급 가용성을 위한 연결 기술이 많이 발전되어 있다.