Java study Day 1 - TIL

데이터 엔지니어가 되기 위해 우선 백엔드 공부를 진행하고자 한다. 가장 처음 공부할 것은 바로 "Java" 이다. Python 이나 C, C++ 등 다양한 언어를 접해보았지만, Java 는 처음이다. 자바를 공부하고자 선정한 책은 바로 "혼자 공부하는 자바" 이다. 

https://hongong.hanbit.co.kr/%EC%9E%90%EB%B0%94/


여기에서는 이클립스를 툴로 사용하고 있지만, 나는 Intellij 를 사용하고자 한다. 그 이유는 개발자들에게 더 많이 사용되기도 하고, 더 편리하다고 판단하기 때문이다. 

 

Topics

  • Java Program 개발 과정
  • Program Source Analysis

 

Java Program 개발 과정

자바 프로그램을 개발하기 위해서는 파일 확장명이 .java 인 텍스트 파일을 생성하고, 자바 언어로 코드를 작성하여야 한다. 

 

Java Source File 은 운영체제에서 바로 실행될 수 없고, JVM 번역기가 필요하다. 그렇다면, 여기서 말하는 JVM 은 무엇일까?

JVM (Java Virtual Machine) 은 JDK에 포함되어있는 소프트웨어이다. JDK는 Java Development Kit 의 약자로, 자바 개발 도구라는 의미이다. 이 JDK는 Open JDK와 Oracle JDK로 나뉜다.

JDK Open JDK Oracle JDK
개발 및 학습용 무료 무료
상업용 무료 유료

 

이 중에서, Oracle JDK를 사용하는 것을 추천하는데, 그 이유는 우선 LTS (Long Term Support : 장기 지원) 서비스를 제공하여 기술 지원 및 버그를 개선한 update version을 꾸준히 받을 수 있어서이다. 

 

Java 특징

1. 모든 운영체제에서 실행 가능

  • 윈도우에서 개발된 프로그램을 수정하지 않고 바로 리눅스에서도 실행할 수 있다.

2. 객체지향 프로그래밍 (OOP : Object-Oriented Programming)

  • 객체(부품)를 만들고, 이 객체들을 서로 연결해서 더 큰 프로그램을 완성하는 기법

3. 메모리 자동 정리

  • 자바는 메모리(RAM)를 자동 관리하므로 (Garbage collector의 역할이지 않을까 생각한다), 개발자는 메모리를 관리하는 수고를 덜 수 있다.

4. 무료 라이브러리 풍부

  • 무료로 다운로드해서 사용할 수 있는 오픈 소스 라이브러리가 풍부하여 프로그램 개발 기간을 단축한다.

Program Source Analysis

package sec03.exam01;

Public class Hello {
}

 

Public class 는 클래스 선언부, Hello 는 클래스 이름이다. 클래스 이름은 소스 파일명과 동일하여야 한다 (대소문자도 일치).

{ .. } 부분은 Class block 이라고 한다. Source file 에서, 어떤 패키지에서 생성되었다고 하는 정보가 있어야 한다. 

소스 코드 상단 위에 패키지 선언이 필요하다.

 

  • Class : Field 또는 method 를 포함하는 블록
  • Method : 어떤 일을 처리하는 실행문들을 모아 놓은 블록

Javac 명령어로 컴파일하면 클래스 이름에 .class 가 붙어 Byte code file 이 생성된다. 근데, Java 명령어로 Byte code file 을 생성하려면 클래스 블록 내부에 main() 메소드 블록을 가지고 있어야 한다.

public static void main(String[] args) {
	system.out.println("Hello, Java");
}

 

Public static void 부분을 메소드 선언부라고 하고, main 을 메소드 이름, {...} 부분을 메소드 블록이라고 한다.

따라서, Java 명령어로 Byte code file 을 실행하면 제일 먼저 main() 메소드를 찾아 블록 내부를 실행한다. 이러한 특징을 이름으로 판단하여 main() method 를 진입점 (entry point) 이라고 한다.

 

주석 사용

주석이란, 코드에 설명을 붙인 것으로 프로그램 실행과는 상관이 없다. 해석에 용이할 수 있도록 적극적으로 사용을 권장한다 (단, 문자열 내부에는 사용이 불가능함).

구분 주석 기호 설명
라인 주석 // ... // 부터 라인 끝까지 주석 처리
범위 주석 /* ... */ /* 부터 */ 사이에 있는 내용 주석 처리
document 주석 /** ... */ /** 부터 */ 사이에 있는 내용 주석 처리
주로 Javadoc 명령어로 API document 생성하는 데 사용함

 

 

실행문과 세미콜론(;) 

실행문이란 변수 선언, 값 저장, 메소드 호출에 해당하는 코드로 실행문 끝에는 반드시 세미콜론이 들어가야 한다. (c, c++과 동일)

'Java' 카테고리의 다른 글

Java study Day 5 - TIL  (3) 2024.04.30
Java study Day 4 - TIL  (0) 2024.04.05
Java study Day 3 - TIL  (0) 2024.03.29
Java study Day 2 - TIL  (2) 2024.03.13