자바의 정석 1 2023. 3. 29. 23:08

namin0_0·2023년 5월 29일
0

오늘은 유튜브 남궁성의 정석코딩에서 자바의 정석 기초에 대한 영상을 보고 내용을 정리해 보려고 한다.

지금은 아무것도 모르는 제로베이스이지만 열심히 공부해서 한달 뒤엔 자바란 무엇인지 정도는 설명 할 수 있는 수준이 되었으면!

[자바란?]

-자바는 컴퓨터 프로그래밍언어로 컴퓨터 프로그램을 만드는 언어다.

-자바는 단순히 프로그래밍 언어가 아니라 실행환경(JRE), 개발도구(JDK), 라이브러리(API)를 제공한다.

(라이브러리란 프로그램을 개발하는데 필요한 도구를 미리 만들어 놓은것을 말한다. 프로그램을 만드는데 쓰이는걸 다른사람들이 만 들어놓은것을 모아놓은곳)

-자바로 만들 수 있는 것 -> PC 애플리케이션, 웹 애플리케이션(웹사이트), 모바일 애플리케이션(안드로이드), 빅데이터(하돕), 게임, 과학, 소형기기 등 엄청 많은 분야에서 사용하고 있는 언어다.

[왜 꼭 자바를 배워야 하는가]

-다양한 분야에서 활발하게 사용 중

-20년동안 프로그래밍언어 1,2위를 다투고있음(C언어랑 요즘은 파이썬(빅데이터, AI)이랑,,)

-배우기 쉽고 학습자료가 풍부함(20년 동안 언어 1,2위니까)

-모던 프로그래밍 언어(객체지향+함수형)

-취업에 유라함(실무에서 제일 많이 사용)

[자바의 역사]

  • JDK(자바개발도구) : 자바는 1996년에 처음 발표됨

  • J2SE 1.2(자바투) : 1998년 자바 투가 나옴. J2SE(스탠다드에디션-가장일반적인 자바), J2ME(마이크로 에디션-모바일이나 소형기기), J2EE(엔터프라자에디션-대기업에서 사용하는 버전)

-J2SE 5.0 (자바5.0) : 2004년 이때 중요한 기능들이 많이 추가됐다.

-JAVA SE 8 : 2014 이때도 중요한 기능들이 많이 추가됌. 3버전 올라갈때마다 큰 변화가 있었음(5.0, 8)

-JAVA SE 13 : 2019 최신 버전. 자바 8 이후부터는 6개월마다 한번씩 발표함

회사에서는 자바 8 이상 쓰는곳 많지 않음.(안전성떄문에) 그래서 자바 8로 공부하면 좋다.

[자바의 특징]

-배우기 쉬운 객체지향 언어이다. (C++, JAVA, Python, JS 등)

  • 객체지향 언어란 프로그래밍 언어에 객체지향 개념을 도입한것이다.

  • 객체지향 개념은 언어들에 공통적으로 사용되는것이기 때문에 어떤 언어 하나로 객체란 개념을 이해하면 다른 객체지향 언어들을 배우기 쉽다는 장점이 있다.

  • 객체지향 배우려면 C++이 제일 좋지만 너무 어려움,, 파이썬은 배우기 쉽지만 객체지향 개념을 다 배우기는 어렵고 자바로 배우는게 좋다.

-자바의 정석 책에 객체지향 설명 잘 되어있음^^ 구매해서 봐야지

  • 자동 메모리 관리

원래 프로그래머가 직접 메모리를 관리했는데 메모리 부족해서 프로그램 죽는일 많았음

근데 자바는 가비지컬렉터(GC)가 메모리를 직접 관리해줌

그래서 메모리 관리를 프로그래머가 일일이 하지 않아도 되서 편리함

  • 멀티 쓰레드를 지원함

멀티쓰레드란 하나의 프로그램에서 동시에 여러작업을 할 수 있게 해주는 것

ex) 채팅하면서 파일 주고 받을 수 있는것

요즘 프로그램은 반드시 갖추고 있어야 하는 기능이기 때문에 프로그래밍 언어라면 반드시 갖추고 있어야 하는 특징

  • 풍부한 라이브러리로 쉽게 개발 가능

라이브러리는 프로그램을 개발하는데 자주 쓰이는 중요한 기능들을 미리 만들어서 제공하는것

자바에서 제공하는 라이브러리가 다양하고 풍부하기 때문에 원하는 프로그램을 적은 노력으로 쉽게 개발 할 수 있다.

  • 운영체제에 독립적이다

일반적으로 프로그램을 작성하면 특정 운영체제에서만 실행이 가능하다.

자바로 작성된 프로그램은 여러 운영체제에서 실행 될 수 있다.

ex-윈도우즈, OS에서 실행되는 프로그램을 작성하면 리눅스에서도 시행 된다.

운영체제에 독립적이지 않으면 윈도우, os 에서 실행되는 프로그램을 작성했을 때 리눅스에서 사용하려면 반드시 수정해야 함

[자바 가상 머신(JVM)]

  • 자바에서 작성된 프로그램이 수정되지 않고 여러 운영체제에서 실행 가능한 이유는 자바 가상 머신(JVM) 때문이다.

  • JVM이란 자바 프로그램이 실행되는 가상 컴퓨터. JAVA + vm(=가상컴퓨터=실제컴퓨터가 아닌 소프트웨어로 만들어진 컴퓨터)

  • 한번 작성하면 어디서든 실행된다. (Write once, run anywhere)

-JVM = 자바 버츄얼 머신

-일반적인 에플리케이션은 OS 운영체제 위에서 실행된다.

{윈도우용 애플리케이션 - OS(Window) - 컴퓨터(하드웨어)}

{OSX용 애플리케이션 - OS(Macintosh) - 컴퓨터(하드웨어)}

{Linux용 애플리케이션 - OS(Linux) - 컴퓨터(하드웨어)}

자바 프로그램은 JVM에서 실행되기 때문에 OS와 독립적일수 있다.

{자바 애플리케이션 - JVM(Window용, OSX용, Linux용)- OS(Widow, OSX, Linux) - 컴퓨터(하드웨어)}


[출처] 자바의 정석 1|작성자 namni

profile
갓생살기프로젝트

0개의 댓글