자바정리
Java 정리
이식성이 높은 언어이다.
이식성이란 서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것을 말한다. 자바 언어로 개발된 프로그램은 소스 파일을 수정하지 않아도, 자바 실행 환경(JRE)이 설치되어 있는 모든 운영 체제에서 실행이 가능하다.
메모리를 자동으로 관리한다.
C++이 메모리 관리를 위해 개발자가 직접 코드를 작성해야 하는 반면, 자바는 개발자가 메모리에 직접 접근할 수 없으며 자바가 직접 메모리를 관리한다. 객체를 생성할 때 자동적으로 메모리 영역을 찾아서 할당하고, 사용이 완료되면 Garbage Collector를 실행시켜 자동적으로 사용하지 않는 객체를 제거한다. 따라서 개발자는 메모리 관리의 수고를 덜고, 코딩에 좀 더 집중할 수 있다.(쓰레기 수집(garbage collection 가비지 컬렉션, GC)은 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능이다.)
다양한 애플리케이션을 개발할 수 있다
자바는 윈도우, 리눅스, 유닉스, 맥 등 다양한 운영체제(OS)에서 실행되는 프로그램을 개발할 수 있다. 또한 콘솔 프로그램, 클라이언트용 윈도우 애플리케이션, 서버용 웹 애플리케이션, 모바일용 안드로이드 앱에 이르기까지 거의 모든 곳에 실행되는 프로그램을 개발할 수 있다.
속도가 느리다
자바는 한 번의 컴파일링으로 실행 가능한 기계어가 만들어지지 않고 JVM에 의해 기계어로 번역되고 실행하는 과정을 거치기 때문에 C나 C++의 컴파일 단계에서 만들어지는 완전한 기계어보다는 속도가 느리다. 그러나 바이트 코드를 기계어로 변환해주는 JIT 컴파일러 같은 기술 적용으로 JVM의 기능이 향상되어 속도의 격차가 많이 줄어들었다.
예외처리가 불편하다
자바는 다른 언어들과 달리 프로그램 실행 시 발생할 수 있는 예외(Exception)들을 개발자가 직접 선언하여 처리해야 한다. 그렇지 않으면 아예 컴파일이 되지 않는다.
변수
int a
위에 처럼 자료형을 쓴 다음 변수를 선언해준다.
자료형이란 저장공간을 효율적으로 사용하기 위한 데이터 타입 (Data Type) 이라고 할 수 있다. 앞에서 봤던 int 도 그 중 하나다. 자바에서 기본적으로 제공하는 자료형은 8가지로 기본 자료형 (Primitive data type) 이라고 한다.
| 데이터 | 자료형 | |:—:|:—:| | 정수 | byte,short,int,long | |실수|float,double| |문자|char| |참과 거짓|boolean| 참고로 자료형중 정수를 받을 있는 자료형은 각자 크기가 다르다. | 위치 | 액션 | 표현 가능 범위 | |:—:|:—:|:—:| | byte | 1 byte | -128 ~-127 | |short| 2 byte| -32768~32767| |int| 4 Byte|-2147483648 ~ 2147483647 (약 21억)| |long|8 Byte|-922337036854775808 ~ 9223372036854775807|v