스프링 공부하랴 JPA 공부하랴 등등 합리적이고 다양한 변명들로부터 항상 미루던 자바 기본서 포스팅 이제 시작합니다.
자바란?
익숙하면서도 낯선 단어처럼 느껴집니다.이러한 낯섬이 해당 시리즈의 포스팅을 마무리 할 즈음에는 없어지길 바라봅니다.
원론적인 이야기를 하자면, 1996년 1월에 Sun Microsystems에서 공식적으로 발표한 객체지향 프로그래밍 언어입니다.(빠른 96이니 27살 정도 먹었다고 볼 수 있겠네요)
Sun사에서는 자바의 전신이라는 Oak라는 언어를 임베디드용으로 개발하려고 시작하였으나, 당시 트렌드인 Web이 폭발적으로 인기가 증가하자 개발 방향을 바꿔 자바를 개발하게 되었습니다.
이후 애플릿이라는 방식을 통해 웹페이지를 꾸미는 다양한 요소를 제공하였고 이는 추후에 서블릿과 JSP로 대체됩니다.
다들 알다시피 자바는 운영체제의 종류에 상관없이 작동합니다. 즉, 플랫폼에 독립적이다라고 표현이 가능합니다. 사실 코딩을 처음 배우는 사람들에게는 파이썬이든 자바스크립트든 전부다 맥이든 윈도우든 잘 돌아가기 때문에 감이 안 잡히실 수도 있습니다. 하지만, JVM이라는 에뮬레이터에 대해 배우면 좀 더 구체적으로 이해가 가능합니다.
JVM
JVM이라는 주제 하나만으로도 포스팅을 올린적이 있을 만큼 상당히 무겁고 중요한 녀석입니다. 풀 네임은 Java Virtual Machine으로 직역하면 자바 가상 기계 정도입니다. VM이라는 단어가 어색하게 느껴지시는 분은 AWS나 GCP의 가상 컴퓨터를 떠올리셔도 좋을 것 같습니다.클라우드 서비스를 이용하면 하나의 가상 컴퓨터를 이용 할 수 있는데, 이러한 가상 컴퓨터를 자바는 기본적으로 가지고 있다라고 이해하면 좋을 것 같습니다.
그러면, 왜 자바는 가상 컴퓨터를 가져야 작동이 가능할까요? 이에 대한 대답은 이미 언급이 되었습니다. 플랫폼으로부터 독립적으로 동작하기 위해서입니다.아래의 그림을 보면 JVM이 어떤 위치에 존재하는 알 수 있습니다.
사실 JVM이라는 계층이 하나 더 있기 때문에 프로그래밍언어가 기계어로 변환되는 속도적인 면에서 불리한 면도 존재합니다.하지만,바이트코드를 빠르게 변환하는 JIT 컴파일러가 존재하여 최적화에 성공했습니다.
JDK 설치
간략하게 JDK에 대해 설명하면, 앞서 설명한 JVM과 프로그램 실행에 필요한 각종 라이브러리들을 포괄적으로 가지고 있습니. 결론적으로 JKD를 설치하면 JVM을 설치 할수 있습니다.