[리마인드] 자바 - 자바란?

2024. 7. 31. 17:01· 웹 개발 공부 : Back-end/JAVA
목차
  1. 1. 자바란?
  2. 2. 자바를 사용하는 이유
  3. ※ JVM
  4. 3. 자바 컴파일 과정
반응형

1. 자바란?

자바란? '썬 마이크로시스템즈에서 1995년에 개발한 객체 지향 프로그래밍 언어. 창시자는 제임스 고슬링이다.'
(출처 나무위키) 라고 간단히 정의되어 있습니다. 소위 대한민국은 자바 공화국이라고 하는데, 왜 이토록 자바는 많이 쓰이고, 인기가 많을까요?

 

 


2. 자바를 사용하는 이유

※ JVM

자바가 나오기 전에는 OS마다 실행환경이 달라 같은 언어여도 다른 코드를 사용해야하는 등 프로그래밍하기에 불편했습니다. 동일한 프로그램을 만들지만, OS에 따라서 따로따로 프로그래밍을 해야했다는 뜻이죠. 하지만 Java는 운영체제에 상관없이 똑같은 코드로 구현할 수 있게 되었습니다. 바로 JVM 덕분입니다.

 

JVM은 Java Virtual Machine으로, 각각의 OS 바로 위에서 작동하는 JVM 코드 즉, 바이트코드를 읽어들이고 수행하는 역할을 담당합니다. Java 컴파일러는 개발자가 작성한 소스코드를 컴파일하게 됩니다. 이때 바이트 코드로 컴파일되며, 각각의 OS 환경에 맞게 컴파일됩니다.

 

결론적으로 어떤 OS든 개발자는 동일한 소스코드를 작성하면 되는 것이고, 프로그램은 똑같이 동작합니다.

 

 


3. 자바 컴파일 과정

1. 개발자는 소스코드를 작성한 후 저장한다. (~~.java 파일)

2. 컴파일을 수행한다. (javac)

3. JVM이 읽을 수 있는 바이트코드로 컴파일된다. (~~.class)

4. JVM에서 프로그램 로직을 수행한다.

 

 

정리) 자바 컴파일러(javac)가 자바 소스(java 파일)를 바이트 코드로 변환한다 (컴파일). 클래스로더가 바이트코드를 런타임 데이터 영역에 로드시키고, 로딩된 바이트 코드는 실행엔진에 의해서 실행.

 

클래스로더? 런타임 데이터 영역? 안보이던 단어가 보이죠? 이는 JVM의 구조에 대한 내용입니다. 바로 다음 포스팅에서 JVM 구조와 자세한 컴파일 동작과정을 설명하겠습니다.

반응형

'웹 개발 공부 : Back-end > JAVA' 카테고리의 다른 글

[리마인드] 자바 '+' 연산  (0) 2024.09.23
[리마인드] 자바의 변수 명명 규칙  (0) 2024.09.23
[리마인드] 자바 - 객체지향 프로그래밍 (OOP) 1탄  (0) 2024.07.31
[리마인드] 자바 - JVM  (0) 2024.07.31
  1. 1. 자바란?
  2. 2. 자바를 사용하는 이유
  3. ※ JVM
  4. 3. 자바 컴파일 과정
'웹 개발 공부 : Back-end/JAVA' 카테고리의 다른 글
  • [리마인드] 자바 '+' 연산
  • [리마인드] 자바의 변수 명명 규칙
  • [리마인드] 자바 - 객체지향 프로그래밍 (OOP) 1탄
  • [리마인드] 자바 - JVM
Developer KTU
Developer KTU
Developer KTU
KTU 개발 블로그
Developer KTU
전체
오늘
어제
  • 분류 전체보기
    • 웹 개발 공부 : Back-end
      • JAVA
      • JPA
      • JAVA - Spring
      • MySQL
      • Docker
      • Redis
      • JSP
      • DevOps
      • 파이썬 - 장고
      • 운영체제
      • WEB
    • 블록체인
    • 웹 개발 공부 : Front-end
      • React
      • Javascript
      • JQuery
      • Ajax
    • 알고리즘 공부
    • 나의 커리어

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바
  • 알고리즘공부
  • 백엔드
  • Python
  • 스프링부트
  • JavaScript
  • 알고리즘
  • 백엔드개발자
  • 컴퓨터공학
  • Java
  • 알고리즘공부기
  • 자바스크립트
  • 파이썬
  • 코딩테스트
  • BOJ
  • 백준
  • Algorithm
  • SpringBoot
  • Back-end
  • 웹개발

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Developer KTU
[리마인드] 자바 - 자바란?
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.