본문 바로가기
  • 개발공부 및 일상적인 내용을 작성하는 블로그 입니다.
부트캠프/후기 챌린지

[멋쟁이사자처럼부트캠] 백엔드 자바 21기 (2026.01.07)

by 방구석 취준생 2026. 1. 7.

* 해당 글은 백엔드 자바 강의이후 회고 글입니다.

https://bootcamp.likelion.net/school/kdt-backendj-21th

 

백엔드 부트캠프 21기: Java : 멋사 부트캠프

실전 스킬 기반 백엔드 개발자 취업 완벽 대비 교육

bootcamp.likelion.net

 

1월6일 내용 간단한 복습

- OS 는 프로세스와 물리 메모리를 관리하고 JVM은 그 위에서 환경과 메모리 구조를 구성하여 논리적인 실행을 진행한다.

- JVM은 클래스 로딩(내가 작성한 클래스 JVM에 로딩), 바이트 코드 실행, 메모리 관리를 담당한다.

- Method Area : 클래스 정보와 static 데이터 관리

- Stack : 메서드 호출, 지역변수 관리

- Heap : 객체와 인스턴스 저장 및 GC 관리

- JVM은 GC가 메모리를 해제할 때 같이 내려간다.

- JVM 관련 참고하기 좋은 문서 내용 : https://docs.oracle.com/javase/specs/jvms/se21/html/jvms-2.html#jvms-2.5

 

Chapter 2. The Structure of the Java Virtual Machine

Conditional branch: ifeq, ifne, iflt, ifle, ifgt, ifge, ifnull, ifnonnull, if_icmpeq, if_icmpne, if_icmplt, if_icmple, if_icmpgt if_icmpge, if_acmpeq, if_acmpne.

docs.oracle.com

 

- Java 플랫폼 구성요소 : JVM + 표준 라이브러리(lib) + 언어 규칙 / JDK 는 Java 개발을 위한 도구 모음이다.

- Java 와 OpenJDK 둘 다 LTS 가 있다.

- JDK Java 는 OpenJDK 와 달리 모니터링, 성능 튜닝, 보안 관리등을 지원하고 통합하는 기능을 지원한다.(라이센스가 있고 없고의 차이)

 

자바 각종 키워드 관련

 

위에있는 Reserved Keyword 는 익히 알고있는 예약어들이고 밑에있는 Contextual Keyword 는 특정 위치에 있을 경우 키워드로서 동작한다. 그러나 여기서 const 와 goto 는 예약어로 선언은 되어있으나 자바에서 사용되지는 않는다.

(내가 알기로 const 는 자바스크립트에서는 사용되고 있는것으로 알고 있다.)

 

Static 메서드와 Non-Static 메서드의 차이

일단 아래의 코드를 한번 보자.

public class Test {
	
	public static void prn() {
		System.out.println("Test.prn()");
	}
	public static void disp() {
		System.out.println("Test'disp()");
	}
	public void disp02() {
		System.out.println("Test'disp()");
	}
	public static void main(String[] args) {
		
		disp();
		prn();
	}
}

 

JVM의 heap 영역과 static & stack 영역에서 위의 코드에 작성되어 있는 메서드들 중 static 으로 선언된 메서드들은 클래스 컴파일 시 static & stack 영역에 바인딩된다.

그러나 disp02 메서드와 같이 non-static 메서드인 경우 메모리에 바인딩 되어있지 않기 때문에, 즉 메모리에 주소가 지정되어 있지 않기 때문에 main 메서드에서 주소를 지정해줄 수야 있겠으나 일단 그건 다음번으로 미루고, 이 disp02 메서드를 호출하고 싶다면 다른 메서드들과 같이 static 키워드를 통해 컴파일 시 메모리에 주소를 바인딩 받을 수 있도록 하자.

  public void disp02() -> public static void disp02()

 

 

이외에 오늘 강의 내용중 각종 레퍼런스 자료형들에 대한 내용, byte, short, int, double 과 같은 자료형들의 몇몇 차이점(각 자료형들이 메모리에서 할당받는 공간 크기에 따른 표현범위 차이), 다른 클래스에 작성해둔 메서드를 다른 클래스의 main 메서드에서 호출하는것 등등에 대한 것들은 이미 잘 알고있는 기본적인 내용들이라 굳이 정리할 필요까진 없어 보여 글을 적지는 않았다.