개발/Java

프로그래밍 언어란? 자바(Java)란?

냐냐_ 2021. 3. 18. 10:57

 

우리가 사용하는 언어는 컴퓨터 입장에서 "이해할 수 없는 문자 집합"

컴퓨터가 사용하는 언어는 우리의 입장에서 "0과 1의 이상한 반복"

 

사람과 기계가 커뮤니케이션 할 수 있도록 중간다리 역할을 하는 것이

우리가 배울, 모두가 배우고 싶어하는,

프로그래밍 언어이다.

 

 

 

 

 

프로그래밍 언어는 고급 언어와 저급 언어로 분류된다 (비하 아님)

복잡한 인간 언어에 가까워서 우리가 배우기 쉬운 것이 고급 프로그래밍 언어,

기계어에 더 가까운 것이 저급 프로그래밍 언어이다.

 

 

우리가 주로 배우는 것은 당연히 배우기 (저급 언어에 비해 그나마) 쉬운

고급 프로그래밍 언어로, C, C++, Java 등이 대표적이다.

이 언어는 컴퓨터가 바로 이해하기는 어렵기 때문에

기계어로 변환하는 '컴파일' 과정을 거쳐야 한다.

 

단, Java는 C언어와 달리 그 어떠한 하드웨어, 운영체제에서도

사용이 가능하다는 특징이 있다. (종속적이지 않다, 라고 표현한다.)

 

 

 

 

 

자바는 1995년 썬 마이크로시스템즈에서 처음 발표되었다.

메모리*와 CPU*를 많이 사용히기 때문에 윈도우 프로그래밍 언어로는 부적합했다.

 - 메모리 : 저장(기억)을 담당 / - CPU : 연산과 제어를 담당

 

때문에 초기에는 C언어에 비해 열세였으나, 인터넷이 보편화되면서

웹 어플리케이션 구축 언어로 부상하였다.

(다양한 서버 운영체제에서 모두 사용 가능했기 때문...!)

 

 

 

 

 

 

자바(Java)의 특징 

1) 이식성 : 어떤 운영체제에서도 사용 가능

2) 객체지향* : 부품에 해당하는 객체를 만들고, 이것을 조립/연결해서 프로그램을 완성할 수 있음

 - 객체 지향 프로그래밍 (OOP / Object Oriented Programming) :

    컴퓨터 프로그래밍의 패러다임 중 하나.

    모든 '객체'를 부품처럼 사용하기 때문에, 개발/유지보수가 용이하다.

    캡슐화 / 상속 / 다형성이라는 특징을 가진다.

 

    참고로 객체지향 개념은 초기에 이해하려 하기보다는

    클래스, 메소드, 상속 등에 익숙해진 후에 다시 되새기는 것이 좋다.

    개발 공부하며 느낀 건데 '그냥 넘어갈 줄 아는 마인드'가 필수적이다.

    처음에 선생님이 "일단 넘어가세요" 하실 땐 그 말을 이해하지 못했는데, 

    남편의 질문에 그렇게 대답하고 있는 나를 발견하고 매우 놀람..!

 

3) 메모리를 스스로 관리 : 개발자가 직접 관리해야 하는 C언어와 달리,

    자바는 Garbage Collecter라는 청소부가 알아서 불필요한 객체를 지워 주면서

    메모리를 관리해 준다. 개발자는 개발에만 집중!

4) 풍부한 오픈소스 라이브러리 : 많은 슴배님들이 남겨주신 소스가 가득하다.

 

 

 

 

 

그 외에도 많은 특징이 있지만 이 정도가 뼝아리 개발자로서 확 와닿는 자바의 특징인 듯 :)