[JAVA] 자바란? 역사부터 코드까지 쉽게 이해하기

  1. 자바란?
  2. 자바의 역사
  3. 코드 예제
  4. 자바 동작 원리
  5. 자바의 원칙

🧐 자바란?

자바(Java)는 1995년 썬 마이크로시스템즈에서 발표한 객체 지향 프로그래밍 언어입니다. 자바는 가능한 적은 종속성을 갖도록 설계되었으며 "Programmers wirte once, run anywhere(WORA)" 와 같이 한번 작성한 코드를 모든 플랫폼에서 작동 시킬 수 있는 범용적인 언어입니다.

전 세계의 많은 Back end 개발자가 선택하는 언어이며 전 세계적으로 보고된 개발자는 9백만 명입니다. 또한 Android 앱 개발을 위한 유일한 공식 언어입니다.

자바는 Amazon, Twitter, Netflix 등 많은 서비스에서 사용하고 있으며 게임 콘솔, 슈퍼컴퓨터 등 많은 곳에서 실행 가능합니다.

대한민국 전자정부표준 프레임워크는 Java 프레임워크인 Spring 입니다.




📜 자바의 역사

1990년 말 썬 마이크로시스템즈는 어떤 하드웨어 플랫폼에서도 동작하는 객체 지향 운영 체제를 원하고 있었습니다. Greend Project Team은 객체 지향언어인 Oak를 개발했고 모든 전자제품에 적용시킬 수 있는 언어로 탄생했습니다.

제임스 고슬링은 Oak 언어를 기반으로 여러 상품 개발을 하였고 그 후 Greend Project Team은 1991년 6월 Java Project로 새 출발을 하였고 고슬링은 Oak을 웹에 적용시킬 수 있는 애플리케이션을 제작하게 되었습니다.

고슬링은 자바 커피를 하루에도 10여 잔씩 마실 정도로 자바를 좋아했다고 합니다. (자바 로고에 커피가 있는 이유)

컴퓨터 운영체제(OS)끼리는 서로 호환이 되지 않아 예를 들어 윈도우에서 만든 프로그램은 유닉스에서 돌릴 수 없어 새롭게 바꿔야 하는 어려움이 있었으나 자바는 각 OS에서 한 프로그램으로 동작할 수 있도록 가상머신을 만들어 이 문제를 해결했습니다.

썬 마이크로시스템즈는 1996년 Java 1.0을 첫 번째로 공개했으며 상당히 안전하고 좋은 보안이 특징이었다고 합니다.

주요 웹 브라우저들은 웹 페이지에서 Java Applet 을 실행 가능하게 통합하였고 Java는 빠르게 인기를 얻고 대중화되었습니다.




⌨️ 코드 예제

클래스 이름 : 클래스명 이면 저장 파일 이름과 같습니다.
메인 메소드 : 자바 애플리케이션이 실행되면 가장먼저 실행되는 부분입니다.
본문 : 자바 문법에 맞게 코드를 작성합니다.



🔨 자바동작 원리

예제를 통해서 설명해드리겠습니다.

저는 지금 "Hellow Java!!!" 를 출력하는 프로그램을 만들고 싶습니다.

코드 작성 후 저장을 해보겠습니다.

HellowJava.java

위 파일이 만들어졌습니다.

> javac HellowJava.java

컴파일러를 통해(javac) 컴파일을 했습니다.

> java HellowJava
Hellow Java!!!

java HellowJava 명령어를 이용해 실행을 한 결과 잘 실행되는 것을 확인하실 수 있습니다.

간단히 정리하면 자바는 코드를 저장하면 OOO.java 라는 파일이 생깁니다. 그 파일을 컴파일 하면 javac(컴파일러)를 통해서 OOO.class 라는 파일을 만들고 컴파일러가 바이트코드(반기계어)로 바꿔줍니다.

하지만 바이트코드는 아직 컴퓨터가 바로 해석을 할 수 없습니다. JVM(Java Virtual Machine / 자바 가상 머신)이 여기서 내부적인 처리를 통해서 컴퓨터가 해석할 수 있는 바이너리 코드로 바꿔줍니다.




🖋 자바의 원칙

  1. It must be simple, object-oriented, and familiar.
    단순하고 객체 지향 적이고 친숙해야 합니다.

    객체지향이란 컴퓨터 프로그래밍의 패러다임이며 프로그램을 명령어의 묶음으로 보는것이아니라 객체(Object) 단위로 나눈다는 개념이다.

  2. It must be robust and secure.
    견고하고 안전해야 합니다


  1. It must be architecture-neutral and portable.
    아키텍쳐 중립적이고 이식이 가능해야합니다.

4. It must execute with high performance. 고성능으로 실행 해야 합니다.
  1. It must be interpreted, threaded, and dynamic.
    인터프리터해야하고, 스레드와, 동적이여야합니다.





참고 사이트
https://en.wikipedia.org/wiki/Java_(programming_language)
https://en.wikipedia.org/wiki/James_Gosling


아이콘 출처
https://www.flaticon.com/

좋은 웹페이지 즐겨찾기