Java 클래스 및 Lombok, Maven 개요

임유진·2025년 7월 2일

Java

목록 보기
4/12
post-thumbnail

Java 클래스 기본 구조

Java 프로그램의 개발 단위는 클래스이며, 파일 확장자는 .java입니다.

📝 *.java 파일의 구성

package 선언구; // 1회 선언
import 선언구;   // 0회 이상

class 프로그램명 {
    // 데이터 표현
    변수

    // 생성자
    // 메모리에 객체를 실체화

    // 기능
    메소드

    // static 초기화 블록
    static {
        // 클래스 로딩 시 1회 자동 실행
    }
}

변수와 메소드 선언

📝 main() 메소드 내부에서 변수 선언

package step01;

public class Person {
    public static void main(String[] args) {
        String image = "커피잔";
        System.out.println("자바님을 보니 " + image + "이 떠올라");
    }
}
  • Java: 변수 타입 반드시 지정
  • Python, JavaScript: 타입 지정 없이 선언 가능
  • SQL: 컬럼 타입 제약(varchar2 등)

📝 main() 메소드 외부에서 변수, 메소드 선언

package step01;

public class Person2 {
    String image = "컴퓨터";

    void printMessage() {
        System.out.println("코딩님을 보니 " + image + "가 떠오름");
    }

    public static void main(String[] args) {
        Person2 p = new Person2();
        p.printMessage();
    }
}

객체 생성 및 비교

package step01;

public class Person3 {
    int a = 3;

    void m1() {
        System.out.println("m1()");
    }

    public static void main(String[] args) {
        Person3 p1 = new Person3();
        Person3 p2 = new Person3();

        System.out.println(p1.a);
        p1.m1();

        System.out.println(p1 == p2); // false
    }
}
  • 동일 클래스라도 객체는 별개의 메모리 공간에 생성됨
  • == 비교 시 참조 주소 비교

Getter & Setter

객체의 필드에 안전하게 접근하기 위해 Getter/Setter 메소드를 사용합니다.

📝 수동 작성 예시

public class Member {
    private String name;

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

Lombok

반복적인 코드를 자동 생성해주는 라이브러리입니다.

📝 특징

  • @Getter, @Setter: 접근자 자동 생성
  • @ToString, @EqualsAndHashCode: 객체 정보 출력/비교 메소드 생성
  • @NoArgsConstructor, @AllArgsConstructor: 생성자 자동 생성

📝 Maven 의존성 추가

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.30</version>
    <scope>provided</scope>
</dependency>

📝 Eclipse Lombok 설치

  1. 공식 사이트에서 lombok.jar 다운로드
  2. 실행 후 Eclipse 설치 경로 지정
  3. Install/Update 클릭
  4. Eclipse 재시작

📝 Lombok 사용 예시

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class Member {
    private String name;
    private int age;
}

Maven

Java 프로젝트의 빌드 자동화 및 의존성 관리 도구입니다.

📝 주요 기능

  • 의존성(Dependency) 관리
  • 빌드 및 패키징
  • 테스트 자동화
  • 표준 프로젝트 구조 제공

📝 Maven 프로젝트 구조

project
 ├── src
 │   ├── main
 │   │   ├── java         (소스 코드)
 │   │   └── resources    (설정 파일)
 │   └── test             (테스트 코드)
 └── pom.xml              (설정 및 의존성)

📝 Maven 설치

  • Eclipse: 기본 내장(New > Maven Project)

  • CLI 설치


📝 의존성 추가 예시

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.10.1</version>
</dependency>

📌 전체 요약 표

항목설명
클래스Java의 기본 개발 단위
main()프로그램 시작 지점
객체클래스를 메모리에 실체화한 것
Getter/Setter객체 변수 접근 메소드
Lombok반복 코드 자동 생성 라이브러리
Maven빌드 및 의존성 관리 도구

📚 참고자료

profile
말하는 고구마

0개의 댓글