[JAVA]Java프로그래밍이란? 자바를 알아보자!
안녕하세요
오늘은 이제 막 프로그래밍을 시작해 보신 분들을 대상으로
프로그래밍 언어중에 대중적인 언어로 알려진 JAVA에 대해서 알아보도록 하겠습니다!
1. 프로그래밍이란?
프로그래밍이란 뭘까요?
프로그래밍을 쉽게 비유를 해보자면
컴퓨터와 인간 사이에서 서로의 말을 번역해주는 통역정도로 비유해 볼 수 있을 것 같습니다.
사람은 컴퓨터의 말(이진법)을 잘 모르고 컴퓨터도 사람들이 하는 말을 잘 모릅니다
때문에 사람들이 컴퓨터에게 일을 시키기 원할 때 적절한 명령을 내려야 하는데
그럴 때 하는 일이 프로그래밍 입니다. 프로그래밍을 하는 사람을 프로그래머, 개발자라고 부르죠.
위의 사진은 프로그래밍의 과정을 나타내고 있습니다.
개발자들이 코드를 작성하면(소스 작성)
컴파일러라는 녀석이 우리가 작성한 코드를 컴퓨터가 이해할 수 있는 언어인 기계어로 번역을 해줍니다
그 번역된 소스를 컴퓨터에게 주면 컴퓨터가 우리가 내린 명령을 이해하고 동작을 하게 됩니다.
2. JAVA언어의 특징
프로그래밍에 관심을 두셨다면 프로그래밍 언어에 많은 종류가 있다는 점은 알고 계실겁니다.
그렇다면 JAVA언어의 특징은 무엇이 있을까요?
지금부터 알아보도록 하겠습니다
2.1 객체 지향 언어로 각 기능들을 모듈화가 가능.
이게 무슨말이지?? 싶은 분들도 계실거 같은데요, 뭔가 거창한 것 같지만 별거 아닌 얘기입니다.
공장에서 보통 기계가 고장났을 때, 어지간히 큰 고장이 아닌 이상
왠만하면 고장난 부품을 교체하지 기계를 교체하지는 않을겁니다.
객체지향도 이러한 기계의 특징과 유사합니다.
각 기능들의 코드들을 만들어서 기계의 부품처럼 필요한 곳에다 끼워서 사용하여
각 코드의 재 사용성을 높이는 방식으로 프로그래밍을 하는 것이
가능하다 정도로만 알아두셔도 될 것 같습니다.
2.2 JRE를 이용하여 운영체제로 부터 자유롭다.
보통 어떤 OS로 접근해도 JAVA를 사용하려면 JRE를 설치하는 등의 과정을 거쳐야 합니다.
JAVA는 이 JRE라는 친구를 통해서 동작하기 때문에 OS에 따라 코드가 달라지는 등의 문제가 없이
자유롭게 코딩할 수 있다는 점이 장점입니다.
2.3 웹 및 모바일 프로그래밍이 쉽다.
웹 개발에 있어서 JAVA는 아주 많이 사용되고 있으며
우리가 흔히 사용하는 안드로이드 기반의 스마트 폰들도 모두 JAVA 기반으로 동작하고 있습니다.
2.4 GC를 통하여 자동 메모리 관리를 지원한다.
GC는 가비지컬렉터라는 녀석인데요, 만약 C나 C++을 해보신 적이 있으시다면
포인터 등을 이용하여 메모리에 접근하는 등의 작업을 해보셨을 겁니다.
이처럼 타 언어들은 컴퓨터 메모리에 접근하여 값을 할당했다가
안쓰면 해제하는 등의 번거로운 작업을 거치는 경우가 많은데
JAVA는 이 가비지 컬렉터라는 녀석이 메모리가 필요할 때 필요한 만큼 썼다가
안쓸 때 안쓰는 애들을 찾아내서 메모리에서 해제해주는 작업을 진행해 줍니다.
즉, 프로그래머가 일일이 해제하는 작업을 안해줘도 되니 개발 시간이 크게 단축된다는 장점이 있습니다.
(물론 이 부분은 치밀하게 메모리 관리가 가능하다는 장점이 있어서 C계열 언어의 장점이기도 합니다. 또, 이 가비지 컬렉터라는 녀석이 동작할 때는 프로그램의 부하가 상당히 커지므로 꼭 좋은 것만은 아닙니다)
이상으로 자바에 대해 알아보았습니다!
비록 단점도 있긴 하지만 아직까지는 대중적으로 많이 쓰이는 언어인 만큼 배워두면 쓸 데가 많은 언어입니다.
다음 시간에는 JAVA를 직접 설치해보도록 하겠습니다!
'Language > Java' 카테고리의 다른 글
[Java]배열의 개념, 선언및 초기화하는 방법+예제 (2) | 2020.08.11 |
---|---|
[Java]자바의 연산자의 종류 및 설명, 예시 (1) | 2020.08.06 |
[JAVA]자료형에 대해 정리해보자(기본자료형과 객체자료형 차이, 기본자료형, 자동 형 변환과 명시적 형 변환) (0) | 2020.07.29 |
[JAVA]변수란 무엇인가? 변수 선언 및 초기화, 메모리 할당 및 데이터 변경 정리 (2) | 2020.07.27 |
[JAVA]JDK(Java Development Kit)+Eclipse 설치하기! (0) | 2020.07.24 |