카테고리 없음

자바의 정석 Ch1-1~1-

농농씨 2024. 4. 7. 15:52

<강의메모>

1-1. 자바란?

1-2. 자바의 역사

자바(Java): 프로그래밍 언어로서 컴퓨터 프로그램(애플리케이션)을 만드는 데에 사용된다.

~장점들~

많은 프로그램에 쓰인다. 학습 자료도 많다.

객체지향+함수형 언어이다.

실무에서 많이 쓰이므로 취업에 유리하다.

 

 

좌: 티오베 랭킹, 우: PYPL 랭킹
파이썬이 5년내로 가장 인기있는 언어가 되었고, 가장 많이 성장한 반면 자바는 인기가 가장 하락했다.

파이썬이 빅데이터, 머신 러닝에 쓰여서 최근에 급부상하고있다.

파이썬이 배우기는 쉽지만 프로그래밍 및 컴퓨터 관련 지식을 배우기에는 자바가 편리하고, 나중에 파이썬, C++ 등으로 넘어가는것을 추천한다.

 

강의는 2020년도에 올라와서 자바가 1,2위를 다툰다고 하는데 2024 현재에는 순위가 꾸준하게 내려가고 있는 것을 볼 수 있다. 

 

 

JDK: 자바개발도구

많은 버전이 계속 업데이트되지만 Java SE 8 을 기준으로 해도 무방하다. 장기적인 지원(LTS: Long Term Support)및 안정성때문에 그것보다도 이전 버전을 쓰는 곳도 많다.(강의 2020년 기준)

어떤 버전의 자바를 선택해야 할지에 대해서도 의견이 분분하지만 2024년 현재 기준으로도 자바 8이 가장 많이 쓰이는 것으로 보인다. 

하지만 점유율이 점점 떨어지고 있어 신기술 등을 고려했을 때 또다른 LTS(장기) 지원 버전인 자바 11과 자바 17에 대한 선택도 고려할 필요가 있다.

 

1-3. 자바의 특징

1-4. 자바 가상 머신(JVM)

자바의 특징:

1)배우기 쉬운 객체지향 언어

객체지향언어에는 C++, 자바, 파이썬 등이 있고, C++은 배우기 좀 어렵고, 파이썬은 배우기는 쉽지만 객체지향개념을 배우기는 조금 부족하다.

2) 자동 메모리 관리

가비지 컬렉터(GC) 사용하지 않는 메모리를 알아서 관리해준다.

3) 멀티 쓰레드 지원

4) 풍부한 라이브러리로 쉽게 개발 가능. 

5) 운영체제에 독립적 -> 중요

프로그램 수정 없이 윈도우에서도 리눅스 운영체제에서도 사용가능하다.

이게 가능한이유는? 자바 가상머신이 있기 때문!

 

자바 가상머신(JVM)이란?

자바 프로그램이 실행되는 가상 컴퓨터(VM: Virtual Machine)

한 번 작성하면, 어디서든 실행 가능함.

일반적인 애플리케이션은 OS(운영체제 ex.Windows)에서 실행되는데

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

자바는 각 운영체제별로 VM들이 만들어져 있기 때문에 JAVA로 한번 프로그램을 작성하면 수정 없이 여러 운영체제에서 실행할 수 있는 것이다.

ex. JVM(Windows용), JVM(Linux용) 

 

1-5. 자바개발도구의 설치와 설정

1-6. mac버전 설치

 

SDKMAN 이용해서 openJDK 설치

SDKMAN:자바 버전 여러개 설치할때마다 환경변수 바꿔줘야하는데 그걸 알아서 해줌

 

 

 

 

 

 

 

 

 

 

 

참조

https://eastc.tistory.com/entry/나는-어떤-자바-버전을-선택해야-할-까

 

나는 어떤 자바 버전을 선택해야 할까?

나는 지금까지 우테코를 진행하면서 자바 11 버전으로 진행해왔다. 이번 프로젝트를 진행하면서 자바 버전에 대한 이야기가 나왔는데 17을 쓰자는 크루의 의견도 있었다. 사실 나의 의견은 지금

eastc.tistory.com

 

https://velog.io/@jjuny7712/Java-버전-선택에-관한-고찰

 

[Java] Java 버전 선택에 관한 고찰

소셜 네트워크 서비스를 개발하면서 어떤 Java 버전을 써야할지 비교하는 내용을 담았습니다.

velog.io

 

https://radait.tistory.com/4

 

객체지향언어란? [특징, 장점, 단점, 종류]

★ 객체 지향 언어(客體指向言語 ) 사전적 의미 IT관련 객체 지향 프로그래밍에서 사용하는 언어로서, 객체를 만들고 조작하며 객체끼리 관계를 맺음으로써 다수의 객체가 함께 수행될 수 있게

radait.tistory.com