정지용
기술스택 목록
언어

Java

프로젝트 4에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.

이 기술은 무엇인가요?

JVM 위에서 동작하는 정적 타입 객체지향 프로그래밍 언어

Java는 '한 번 작성하면 어디서든 실행된다'는 목표로 만들어진 객체지향 프로그래밍 언어로, 소스 코드를 바이트코드로 컴파일한 뒤 JVM(Java Virtual Machine) 위에서 실행하는 방식으로 플랫폼 독립성을 확보한다. 정적 타입 시스템과 자동 메모리 관리(가비지 컬렉션)를 통해 대규모 시스템에서도 안정적으로 유지보수할 수 있도록 설계되었다. 배치 처리, 이벤트 컨슈머, 서버 애플리케이션처럼 장시간 실행되며 안정성이 중요한 백엔드 시스템에서 특히 널리 쓰인다.

이럴 때 사용합니다

  • 장시간 안정적으로 동작해야 하는 배치/컨슈머 등 백엔드 서비스를 만들 때
  • 여러 서비스가 공유하는 스키마·라이브러리처럼 강한 타입 안정성이 필요할 때
  • 성숙한 프레임워크와 라이브러리 생태계를 활용해 개발 생산성을 높이고 싶을 때
  • 팀 규모가 크고 코드베이스가 장기간 유지보수되는 프로젝트일 때

핵심 개념

JVM
Java 바이트코드를 실행하는 가상 머신으로, 운영체제와 하드웨어에 상관없이 동일한 코드를 실행할 수 있게 해준다.
Object-Oriented Programming
클래스와 객체를 기반으로 코드를 구조화하는 패러다임으로, 상속·캡슐화·다형성을 통해 코드 재사용과 확장을 지원한다.
Static Typing
변수와 함수의 타입이 컴파일 시점에 결정되어, 실행 전에 타입 오류를 잡아낼 수 있다.
Garbage Collection
더 이상 사용되지 않는 객체의 메모리를 런타임이 자동으로 회수해 개발자가 직접 메모리를 해제하지 않아도 되게 한다.
Build Ecosystem
Maven, Gradle 같은 빌드 도구와 방대한 오픈소스 라이브러리·프레임워크 생태계가 Java 개발을 뒷받침한다.

가장 기본적인 Java 프로그램

모든 Java 실행 파일은 main 메서드를 가진 클래스에서 시작하며, 이 메서드가 프로그램의 진입점이다.

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

처음 쓸 때 흔한 함정

  • 체크드 예외(checked exception) 처리 규칙 때문에 코드가 장황해지기 쉽다.
  • 가비지 컬렉션이 자동이라도 객체 생성 패턴에 따라 성능 튜닝이 필요할 수 있다.
  • JVM 옵션과 메모리 설정을 모르면 운영 환경에서 예상치 못한 이슈를 겪기 쉽다.

위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.

프로젝트별 활용 방식

위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.

함께 사용한 기술

위 프로젝트들에서 같이 쓰인 다른 기술입니다.