Java

프로그래밍 언어와 자바

자바(Java)는 프로그래밍 언어의 한 종류이다. 프로그래밍 언어는 아주 많은 종류가 있으며, 만들어지고 사라지는 것을 반복하고 있다.

자바는 그 중 20년을 넘게 장수하고 있는 언어중 하나로서 개발자가 모를 수 없을 정도로 높은 비중을 차지하고 있다. 특히 시스템의 변화가 크지 않은 한국 개발 시장에서 자바의 점유율은 압도적이며, 가장 취업이 잘 되는 언어 중 하나라고 할 수 있다.

이 문서에서는 프로그래밍 언어로서 자바가 가지는 특징과 문법에 대한 이해를 목적으로 한다. 작성하는 예시는 필자의 주관적인 견해가 들어있기 때문에 독자의 이해에 도움이 되지 않을 수 있으므로 필요시 댓글로 질문해주시기 바란다.

컴퓨터 프로그래밍

컴퓨터 프로그래밍(Computer Programming)이란 다음과 같이 위키백과에 정의되어 있다.

컴퓨터 프로그래밍(영어: computer programming) 또는 간단히 프로그래밍(programming, 문화어: 프로그램 작성) 혹은 코딩(coding)은 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술을 말한다.

좀 더 와닿게 변환해서 설명하면 원하는 바를 이루기 위한 컴퓨터를 사용한 해결과정 정도가 될 수 있다. 여기서 가장 중요한 것은 컴퓨터를 사용한다는 것이며, 컴퓨터에게 명령을 내리거나 컴퓨터의 작업을 확인하는 등 컴퓨터와의 의사소통 과정이 중요하다는 것을 알 수 있다.

일반적으로 다음에 해당하는 계산들이 우리가 앞으로 컴퓨터에게 지시할 작업이다.

  • 너무 간단해서 직접 하기 부끄러운 계산

  • 너무 간단하지만 양이 많아서 하기 귀찮은 계산

  • 복잡하거나 양이 방대해서 하기 버거운 계산

컴퓨터 프로그래밍 언어

컴퓨터와 의사소통을 한다는 것은 사람과의 의사소통 개념과는 다르다. 컴퓨터는 생명체가 아니고 수동적이기 때문에 사람의 명령을 집어넣어야 하는데, 이를 위해서는 컴퓨터가 돌아가는 원리에 대해서 살펴볼 필요가 있다.

컴퓨터를 포함한 전자제품들은 전기를 이용하여 작동하며 전기가 끊어지면 멈추는 특징을 가지고 있다. 즉, 전기를 조절하여 우리가 원하는 작업을 지시해야 한다는 이야기가 되므로 프로그래밍을 하고 싶다면 전기부터 공부해야 한다는 결론에 이르게 된다.

하지만 우리는 전기를 공부할 생각이 없기 때문에 선구자들이 만들어 놓은 다양한 변환 기법들을 이용하여 명령을 전기 신호로 변환하여 전달하게 되며, 이러한 도구들을 프로그래밍 언어라고 부른다.

프로그래밍 언어는 아주 다양하게 존재하며, 통계 사이트인 PYPL에 따르면 글 작성 시점을 기준 구글 검색량을 기반으로 하여 가장 관심 있는 언어 순위 1등은 파이썬(Python)이다.

언어가 순위가 높은 데는 이유가 있겠지만 어피 우리는 자바를 배울 예정이기 때문에 2등이 자바라는 것에 만족해야겠다. 중요한 것은 자바는 아주 오랜 기간 최상위권을 지키고 있는 정말 몇 안되는 언어 중 하나라는 것이다.

자바의 특징

그렇다면 자바를 배워야 하는 강력한 이유는 무엇이며, 가장 큰 특징은 무엇일까.

여기에 정답은 없겠지만 필자가 생각하는 한국에서 자바를 배워야 하는 가장 큰 이유 중 하나는 넓은 취업 시장이라고 생각한다. 프로그래밍 언어를 배워서 우리가 하고 싶은 것은 궁극적으로 둘 중 하나로 귀결된다.

  • 프로그래밍 기술을 연마하여 취업하여 돈을 번다.

  • 세상을 뒤집을만한 프로그램을 개발하여 돈을 번다.

물론 취미로만 배우는 경우도 있을 수 있지만, 생 업으로 삼으려는 절박한 사람들을 대상으로 작성되는 문서이기 때문에 어느 정도 이해해줬으면 한다. 대부분의 프로그래밍 언어를 시작하는 성인들의 목적은 전자인 취업일 수밖에 없다. 따라서 넓은 취업 시장은 자바를 배워야 하는 가장 강력한 이유 중 하나라고 할 수 있다.

물론 프로그래밍 언어적으로도 많은 특징들을 가지고 있다.

  • JVM 기반의 언어

  • 컴파일/인터프리터 방식의 하이브리드 언어

  • 객체 지향 언어

  • Spring Framework의 기반이 되는 언어

  • 안드로이드의 기반이 되는 언어

진짜 특징들에 대해서는 인터넷 검색을 통해서도 충분히 좋은 자료들을 찾을 수 있다(절대 귀찮아서 그런게 아니다).

중요한 것은 자바도 프로그래밍 언어의 한 종류이며, 궁극적인 목적은 컴퓨터에게 작업지시를 내리는 것 정도로 요약할 수 있다. 이를 위해서 개발 도구를 지원하며, 개발 도구에 대해서는 다른 문서에서 살펴보는 것으로 한다.

Last updated