본 글 외 앞으로의 글들은 자바 공부한 것을 기초부터 개념을 재정립하기 위해 작성하는 것으로,
구글링 및 개인적으로 찾아본 후 올리겠지만 절대! 모두 맞는 말은 아니기 때문에 틀린 부분은 지적해주세요.
프로그래밍 언어
프로그래밍 언어란 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 언어이다.
여기엔 고급 언어와 저급 언어가 있다. - 위키 백과
간단하게 설명하자면
고급 언어는 사람이 사용하는 언어에 가깝고
저급 언어는 컴퓨터가 사용하는 언어에 가깝다.
컴퓨터는 0과 1로 이루어진 이진법(11011처럼 0과 1로만 이루어짐)의 코드를 사용한다.
만약에 아는 사람이 당신에게 이진법으로 코딩을 하라고 하면 그 자리에서 도망을...
컴퓨터는 사람의 언어를 이해할 수 없고,
사람은 컴퓨터의 언어를 이해할 수 없다.(물론 이해하는 천재들이 있지만 대부분은 못한다.)
요약 : 프로그래밍 언어가 나온 이유 : 컴퓨터와 사람의 대화를 위해
위를 보면 Java로 작성된 Hello World 를 실행하는 소스파일이다.
Java의 경우 JVM이란 가상머신 위에서 돌아가게 되는데,
Compiler( 번역해 주는 기계)가 파일을 [파일이름].java -> [파일이름].class -> 실행의 결과를 거치게 된다.
*어려운건 나중에 올리거나 따로 찾아보는게 좋다고 생각한다.
초반부터 어려운거 보면 머리 아프고 흥미가 떨어져버린다.*
중요하게 봐야될건 사람에게 가까운 프로그래밍 언어를 번역해주는 도구가 있다는 점 정도이다.
프로그래밍 언어의 종류
엄청나게 많은 종류의 언어가 있다. 아래는 2021년의 인기 순위일 뿐, 순위 밖의 언어도 많다고 한다.
프로그래밍 언어마다 특징과 사용법 , 장단점이 다 다르기 때문에 특정언어가 우수하다고 볼 순 없다.
그럼 그 중 자바란 무엇인가?
자바의 소개
공부하다 보니, 어떤 프로그래밍 언어를 배우려면 그 언어가 왜 나왔고, 어떻게 쓰이는지를 알면, 그 언어의 장점을 알 수 있는 것 같다.그래서 언어의 역사도 중요하다라고 느껴서 간단하게 적는다.
자바는 1996년에 썬 마이크로시스템즈에서 만들어 발표를 했고 2010년에 Oracle에 인수 승인이 나서 인수가 되었다.
자바는 초기에 가전제품에 탑재할 기능을 구현하기 위해 만들어졌다.
지금은 다양한 기기들의 기능을 구현하는데 쓰이는데 , 대표적으로 휴대폰 운영체제 안드로이드의 어플과 웹 사이트 등에서 쓰인다.
자바의 특징
- 모든 운영체제에서 실행 가능하다.
- 요약 : Write Once Run Anywhere ( 한번 작성으로 어디서든 실행하자. )
- 설명 : 자바로 작성된 프로그램은 운영체제에 상관없이 실행가능하다. 윈도우에서 개발된 프로그램을 리눅스 운영체제에서 바로 실행 가능하다. (JVM이란 가상머신만 있으면 어디서든 실행가능하다.) : 운영체제에 독립적이다.
- 객체 지향 프로그래밍 언어이다.
- 그 전의 유명한 C언어 혹은 C++은 절차지향 프로그래밍이다.
- 제임스 고슬랭씨는 객체(부품)을 만들고, 객체들끼리의 조합을 통해 더 큰 프로그램을 완성할 수 있게했다.
- 메모리 자동 정리
- 자바는 GC ( Gabage Collector : 쓰레기 수집기) 라는 것을 통해서 메모리를 자동으로 정리해준다.
- 개발자는 GC덕분에 메모리 관리할 수고를 덜고, 그 시간을 개발에 집중할 수 있게 되었다.
- C , C++은 포인터가 있는데, 개발자가 직접 메모리 관리를 해줘야 됨.(C#은 Java와 마찬가지로 GC있음.)
- 무료 라이브러리가 많음 아주
- 라이브러리 : Library(도서관)는 책들이 많고, 자기가 원하는 책(정보)을 읽고 사용하는데 도움을 줌.)
- 무료로 다운 받을 수 있는 오픈 소스 라이브러리가 풍부해서 남의 것을 가져다 쓸 수 있다.
'Java' 카테고리의 다른 글
Java - java.lang 패키지 (0) | 2022.02.28 |
---|---|
Java - 예외 및 예외 처리 ( Exception ) (0) | 2022.02.28 |
Java 제어문 - 반복문 ( for , while , do-while 문 ) (0) | 2022.02.12 |
Java 제어문 - 조건문 ( if / switch 문 ) (0) | 2022.02.11 |
JVM의 개념 - 자바 동작 과정 아주 기초! (0) | 2022.02.03 |