728x90
반응형
롬복이란?
롬복(Lombok)은 자바 개발을 보다 편리하게 만들어주는 라이브러리이다. 롬복은 반복적이고 상투적인 코드를 줄여주고, 더 간결하고 가독성이 좋은 코드를 작성할 수 있도록 도와주는 역할을 한다. 롬복에서 사용되는 어노테이션은 수고를 덜어주는 기능이 있다.
예를 들어, 일반적인 자바클래스에서는 getter/setter을 작성하여 값을 설정해줬다면 롬복을 사용하면 그런 수고를 할 필요가 없다는 것이다.
롬복의 장점
- 코드 간소화: 롬복은 자동으로 일반적인 코드를 생성해주는 기능을 제공한다. @Getter, @Setter, @ToString, @EqualsAndHashCode와 같은 롬복의 애노테이션을 사용하면, 해당 필드나 메서드를 자동으로 생성할 수 있다. 이로써 개발자는 일일이 게터(Getter)와 세터(Setter) 메서드를 작성할 필요 없이 필드에 직접 접근할 수 있다.
- 가독성 향상: 롬복은 코드를 더 간결하고 읽기 쉽게 만들어 주며, 롬복 애노테이션을 사용하여 반복적인 코드를 줄이고, 필드에 대한 게터와 세터를 명시적으로 작성할 필요가 없으므로 코드의 가독성이 향상된다.
- 유지보수 용이성: 롬복을 사용하면 코드를 더 짧고 명확하게 작성할 수 있기 때문에 유지보수가 간편해지고, 필드 추가 또는 삭제와 같은 변경 사항에 대해서도 롬복이 자동으로 관련 코드를 업데이트해 주기 때문에 일관성을 유지하면서 코드를 수정할 수 있다.
- IDE 지원: 대부분의 주요 IDE(통합 개발 환경)에서 롬복을 지원하는데. 롬복을 사용하면 IDE에서 코드 자동 완성, 리팩토링, 디버깅 등과 같은 기능을 정상적으로 사용할 수 있다.
- 확장 가능성: 롬복은 자체적으로 많은 기능을 제공하지만, 개발자가 필요에 따라 커스텀 애노테이션을 생성하여 추가 기능을 구현할 수도 있다. 이를 통해 개발자는 자신의 코드 작성 스타일에 맞춰 롬복을 유연하게 활용할 수 있다.
롬복은 효율적인 개발을 위해 반복적이고 장황한 코드를 줄여주는 강력한 도구이다. 개발자는 더 짧은 시간에 더 품질 높은 코드를 작성할 수 있고, 유지보수 비용을 절감할 수 있다.
롬복 활용 예시
롬복을 사용하지 않을 때
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
위는 롬복을 활용하지 않았을 때, 작성된 일반적인 자바클래스이다.
getter/setter와 toString을 사용하여 메서드를 지정해줬다.
롬복 활용
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
위 코드는 롬복 어노테이션을 활용하여 getter/setter가 자동으로 지정됐으며 toString 메서드까지 간결해졌다.
한눈으로 봐도 가독성이 좋고 유지보수도 좋아보인다.
728x90
반응형
'개발 지식' 카테고리의 다른 글
[개발지식] 형상관리 도구 종류와 SVN(Subversion)에 대하여 | 민민의 하드디스크 - 티스토리 (2) | 2023.09.15 |
---|---|
[개발지식] 레드마인(PMS)이란? | 민민의 하드디스크 - 티스토리 (0) | 2023.07.12 |
코드 리팩토링(Refactoring)이란? | 민민의 하드디스크 - 티스토리 (1) | 2023.06.26 |
[개발 지식] Spring과 Spring boot란? | 민민의 하드디스크 - 티스토리 (1) | 2023.06.16 |
[개발 지식] SQL 인젝션(Injection)이란? | 민민의 하드디스크 - 티스토리 (0) | 2023.06.12 |