-
자바 개념학교 수업/자바프로그래밍 2020. 4. 16. 19:01
자바 Java
- 개념 : c언어 + 객체 지향성 = c++가 달리, 처음부터 객체 지향 언어로 개발된 프로그래밍 언어
- 특징 : 자바가상머신(java virtual machine, JVM)을 사용해, 운영체제와 독립적으로 동작 가능
그래서 어느 운영체제에서나 같은 형태로 실행됨
역사
가전제품 내에서 동작하는 임베디드 프로그램을 위한 언어로 썬 마이크로시스템즈사의 제임스 고슬링 팀에 의해 개발
1991년 오크(oak)라는 이름으로 시작해 1996년 개발된 1.0.2 버전부터 자바라는 이름을 사용
2009년에 썬마이크로시스템즈사가 오라클과 인수 합병됨에 따라 자바 또한 오라클의 소유가 됨
- 장점
① 운영체제와 독립적으로 실행
② 불필요한 기능을 과감히 제거해 다른 언어에 비해 배우기 쉬움
③ 자동 메모리 관리 등을 지원해 다른 언어에 비해 안정성이 높음
④ 연산자 오버로딩을 금지하고, 제네릭을 도입함으로써 코드의 가독성을 높임
⑤ 자바에 관한 수많은 참고 자료 찾을 수 있음
- 단점
① 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느림
② 예외 처리가 잘 되어 있지만, 개발자가 일일이 처리를 지정해 줘야 한다는 불편함
③ 다른 언어에 비해 작성해야 하는 코드의 길이가 긴 편
- 실행 과정
- 자바 컴파일러(Java compiler)
작성한 자바 소스 코드를 자바 가상 머신이 이해할 수 있는 자바 바이트 코드로 변환
- 자바 바이트 코드(Java bytecode)
자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미
자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 부름
자바 바이트 코드는 자바 가상 머신만 설치되어 있으면, 어떤 운영체제에서라도 실행 가능
- 자바 가상 머신(JVM)
자바 바이트 코드를 실행시키기 위한 가상의 기계
자바로 작성된 모든 프로그램은 자바 가상 머신에서만 실행될 수 있으므로,
자바 프로그램을 실행하기 위해서는 반드시 자바 가상 머신이 설치 필수
위의 그림처럼 서로 다른 운영체제라도 자바 가상 머신만 설치되어 있다면,
(각 운영체제에 맞는 자바 가상 머신을 설치)
같은 자바 프로그램이 아무런 추가 조치 없이 동작 가능
'학교 수업 > 자바프로그래밍' 카테고리의 다른 글
자바 개념 6(thread) (0) 2020.04.23 자바 개념 5(socket programming의 바탕 TCP/IP) (0) 2020.04.23 자바 개념 4 (입출력) (0) 2020.04.18 자바개념3 (상속) (0) 2020.04.16 자바 개념2 (클래스, 필드, 메소드, 제어자) (0) 2020.04.16