lombock
lombock
- Lambda Expressions
- 자바 라이브러리
- 자바에서 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리
- 자바에서 함수적 프로그래밍을 위해 자바 8부터 지원
- 익명함수 생성을 위한 식으로 객체 지향이 아닌 함수 지향에 가까움
- 자바스크립트의 arrow function( () => )과 비슷하게 생각하면 됨
lombock 설치
- 프로젝트에 원래 라이브러리만 포함하면 되지만 이클립스에서 lombok 인식을 잘 못해서 이클립스에 직접 install 시켜줘야한다고 함.(강사님 피셜)
- 이클립스 닫고 진행하기
- .jar : 자바 프로젝트를 패키징(압축)한 확장자
- 다운로드 탭에 들어가서 다운로드 받기
- 원하는 폴더로 이동
- Git Bash 혹은 cmd를 통해 설치
- 나 포함 폴더 내에서 우클릭 했을 때 ‘Git Bash Here’이 안 나오는 분들이 있어서 프롬프트로 설치하는 법도 알려주셨다.
(나중에 해보니 나왔음..)
- 나 포함 폴더 내에서 우클릭 했을 때 ‘Git Bash Here’이 안 나오는 분들이 있어서 프롬프트로 설치하는 법도 알려주셨다.
1-1. Git Bash
- jar 파일이 있는 폴더 내에서 오른쪽 마우스 클릭 > ‘Git Bash Here’ 클릭
- java -jar lombok.jar 입력하고 Enter
- lom 까지만 입력하고 tab 키를 누르면 마저 나온다고한다
1-2. cmd
- 관리자 권한으로 실행
- 다운 받은 lombok 파일이 있는 경로를 지정해주고
- java -jar lombok.jar 입력하고 Enter
- 이런 창이 뜨면 [install / update] 버튼 클릭
- 파란색 영역에 eclips가 안 나오면 [Specify location…] 버튼 클릭 > 이클립스 실행 파일 있는 경로 선택
- Install successful 나오면 성공
- 이클립스 실행 파일이 있는 폴더 내에 ‘lombok.jar’ 파일이 잘 들어갔는지 확인
2. Java 프로젝트 생성 후 확인
- 프로젝트 생성 후, 프로젝트 오른쪽 마우스 클릭 > Properties 클릭
- Java Build Path 클릭
- 위 이미지와 동일하게 나오면 순서대로 진행
- classPath에 추가 되는 거 확인하기
- 프로젝트 내에 잘 추가 되었는지까지 확인하면 끝!
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
- @Data 한 줄 추가했는데 기본생성자, toString, hashCode, equals, getter, setter 모두 생성되었다.
- 코드가 완전 줄어들었다.
@NoArgsConstructor
@AllArgsConstructor
- 필요에 따라서 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;
}
- 위에 있던 긴 코드랑 많이 비교된다. 완전 간결하다!