Algorithm/Grammer of Java

[내가 모르는 자바 문법 1] 자바의 특징

mostlyjinsonit 2019. 2. 14. 13:29
반응형

1. 자바는 심플하다.

 

= C, C++의 복잡한 기능을 제외하여 코드를 단순하게 작성 가능.

  가비지 컬렉터(더이상 쓰지 않는 객체를 쓰레기로 간주, 자동으로 정리)를 통해 할당된 메모리 해제를 신경 쓰지 않아도 됨.

 

2. 자바는 객체 지향(Object-Oriented)적이다.

 

= 자바는 객체지향 개념이 적용된 C++를 기초로 만든 언어.

   객체지향 언어란? => 언어라는 객체를 사용해서 프로그램을 작성하도록 하는 언어

 

   객체지향을 하게 되면 재사용성을 높일 수 있다.

 

3. 자바는 분산 처리에 능하다.

 

= 분산 환경에서 TCP/IP 프로토콜을 통해 효율적으로 실행할 수 있게 설계된 언어.

   TCP/IP 네트워크 기능 내장 / HTTP, FTP 등과 같은 프로토콜을 쉽게 사용할 수 있도록 라이브러리 제공.

 

4. 자바는 인터프리터에 의해 실행된다.

 

= 소스코드 -> 컴파일 -> 중간코드(바이트 코드=클래스 파일) -> 기계어로 해석 -> 실행

 

5. 자바는 견고하다.

 

= 다양한 플랫폼에서 실행되기 때문에 에러의 원인이 되는 요소들을 제거하거나 자동으로 해결.

 

6. 자바는 안전하다.

 

= 컴파일 시에 엄격하게 데이터 타입을 검사, 프로그램 실행 중에 비정상적인 상황을 미리 방지.

   중간코드(바이트 코드)에서 실행시 클래스 로더, 바이트 코드 검증기를 통해 검증. 이때 클래스 로더는 코드를 분리하고 바이트 코드 검증기는 코드 검증.

 

7. 자바는 플랫폼 독립적이다.

 

= 자바는 사용하는 운영체제나 CPU, 하드웨어 사양에 관계없이 실행될 수 있음.

 

8. 자바는 높은 성능을 제공한다.

 

= 가비지 컬렉션 기능이 추가 되어 있어 자동으로 메모리 관리가 가능하다.

   메모리가 할당된 객체를 추적 관리, 더 이상 참조되지 않으면 자동으로 할당된 메모리 해제.

 

9. 자바는 멀티스레드를 제공한다.

 

 

10. 자바는 정적언어지만(컴파일전에 타입이 정해진다.) 동적이다.

 

= 자바는 변화되는 환경에 잘 적응되도록 설계됨.

   기존의 프로그램에 영향을 주지 않고 라이브러리에 새로운 메서드나 속성들을 추가할 수 있음.

   프로그램과 프로그램에서 사용되는 라이브러리의 연결을 실행시간에 수행함. 

   

반응형