[SpringBoot] @Deprecated 어노테이션으로 해당 클래스 및 메서드 은퇴시키기

우리가 코드를 수정하거나 리팩토링을 진행할 때 클래스나 메서드의 소스를 수정하는 방식으로 진행하거나

클래스 혹은 메서드를 아예 다시 새롭게 만드는 경우도 있다.

오늘은 아예 새롭게 리팩토링을 진행하는 데 있어서 기존의 사용되고 있는 클래스와 메서드를 사용 금지를 시켜야 하는데

그렇다고 바로 삭제하기에는 사용되는 곳이 존재할 것이고 그 소스도 다 같이 수정하기에는 혹시 모르는 사이드 이펙트가

발생할 여지가 존재한다. 이럴 때 우리는 해당 클래스, 메서드의 사용하지 않도록 경고 시킬 수 있는데

이게 바로 오늘 설명할 @Deprecated 해당 어노테이션이다

/**
 * @deprecated ... 이와 같은 이유로 삭제되어질 예정입니다.
 */
@Deprecated
public class DeprecatedClass {

};

위와 같이 더 이상 사용하지 않을 클래스나 메서드에 해당 어노테이션을 추가만 해주면 된다.

여기서 JavaDoc을 통해 왜 해당 클래스가 삭제 예정되었는지 작성해 주면 나중에 다른 사람이 봤을 때

왜 이 클래스가 삭제 예정이 되었는지 알 수 있다.

이제 해당 클래스를 사용하려 했을 때 혹은 사용하고 있는 코드에는 아래와 같은 줄긋기 표기가 되어있어

경고를 할 수 있으며 해당 클래스에 마우스를 올려놓으면 내가 작성한 JavaDoc을 볼 수 있다.

DeprecatedClass objDeprecatedClass = new DeprecatedClass();

@Deprecated
public class DeprecatedClass
extends Object
Deprecated
... 이와 같은 이유로 삭제되어질 예정입니다.

이렇게 차근차근 사용되는 클래스를 리팩토링 완성한 클래스로 바꿔나가면 사이드 이펙트를 줄이면

부담 없이 리팩토링을 진행할 수 있다.

다른 글 읽어보기 ⬇️