2 minute read

lombock

  • Lambda Expressions
  • 자바 라이브러리
  • 자바에서 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리
  • 자바에서 함수적 프로그래밍을 위해 자바 8부터 지원
  • 익명함수 생성을 위한 식으로 객체 지향이 아닌 함수 지향에 가까움
  • 자바스크립트의 arrow function( () => )과 비슷하게 생각하면 됨

lombock 설치

Projcet Lombok

  • 프로젝트에 원래 라이브러리만 포함하면 되지만 이클립스에서 lombok 인식을 잘 못해서 이클립스에 직접 install 시켜줘야한다고 함.(강사님 피셜)
  • 이클립스 닫고 진행하기
  • .jar : 자바 프로젝트를 패키징(압축)한 확장자
  1. 다운로드 탭에 들어가서 다운로드 받기
  2. 원하는 폴더로 이동
  3. Git Bash 혹은 cmd를 통해 설치
    • 나 포함 폴더 내에서 우클릭 했을 때 ‘Git Bash Here’이 안 나오는 분들이 있어서 프롬프트로 설치하는 법도 알려주셨다.
      (나중에 해보니 나왔음..)

1-1. Git Bash

Alt text

  • jar 파일이 있는 폴더 내에서 오른쪽 마우스 클릭 > ‘Git Bash Here’ 클릭

Alt text

  • java -jar lombok.jar 입력하고 Enter
  • lom 까지만 입력하고 tab 키를 누르면 마저 나온다고한다

1-2. cmd

Alt text

  • 관리자 권한으로 실행

Alt text

  • 다운 받은 lombok 파일이 있는 경로를 지정해주고
  • java -jar lombok.jar 입력하고 Enter

Alt text

  • 이런 창이 뜨면 [install / update] 버튼 클릭
  • 파란색 영역에 eclips가 안 나오면 [Specify location…] 버튼 클릭 > 이클립스 실행 파일 있는 경로 선택

Alt text

  • Install successful 나오면 성공

Alt text

  • 이클립스 실행 파일이 있는 폴더 내에 ‘lombok.jar’ 파일이 잘 들어갔는지 확인

2. Java 프로젝트 생성 후 확인

Alt text

  • 프로젝트 생성 후, 프로젝트 오른쪽 마우스 클릭 > Properties 클릭
  • Java Build Path 클릭
  • 위 이미지와 동일하게 나오면 순서대로 진행
  • classPath에 추가 되는 거 확인하기

Alt text

  • 프로젝트 내에 잘 추가 되었는지까지 확인하면 끝!

lombok 사용 전

public class Student {
	private String name;
	private int age;
	private String gender;
	private int math;
	private int english;
	
	// 기본 생성자
	public Student() {
	}
	
	// 생성자
	public Student(String name, int age, String gender, int math, int english) {
		super();
		this.name = name;
		this.age = age;
		this.gender = gender;
		this.math = math;
		this.english = english;
	}
	
	// getter, setter
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public int getMath() {
		return math;
	}
	public void setMath(int math) {
		this.math = math;
	}
	public int getEnglish() {
		return english;
	}
	public void setEnglish(int english) {
		this.english = english;
	}

	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + ", gender=" + gender + ", math=" + math + ", english="
				+ english + "]";
	}
}
  • 와 길다.. 기존에 class 하나 만들었을 경우 기본적으로 필요했던 것(기본 생성자, 생성자, getter, setter, …)들 다 작성한 내용
  • lombok을 이용하면 이 코드들을 모두 작성하지 않아도 된다. 코드가 엄청 간결해질 거 같음!

lombok 사용

Annotation 설명
@Data 기본생성자, toString, hashCode, equals, getter, setter 생성
@NoArgsConstructor 기본 생성자 생성
@AllArgsConstructor 매개값이 있는 생성자 생성
@Getter getter만 생성
@Setter setter만 생성
@toString toString만 생성
@EqualsAndHashCode equals, hashCode 생성

@Data

Alt text

  • @Data 한 줄 추가했는데 기본생성자, toString, hashCode, equals, getter, setter 모두 생성되었다.
  • 코드가 완전 줄어들었다.

@NoArgsConstructor

Alt text


@AllArgsConstructor

Alt text


  • 필요에 따라서 annotaion을 적절히 추가해서 사용하면 된다.
  • 추가하기만 하면 긴 코드들을 줄일 수 있어서 너무 좋을 거 같다. 아직은 실습이라 코드가 별로 없지만.
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
	private String name;
	private int age;
	private String gender;
	private int math;
	private int english;
}
  • 위에 있던 긴 코드랑 많이 비교된다. 완전 간결하다!

Categories:

Updated: