어노테이션과 접근 제한자에 대한 이해

ZEDY·2023년 9월 30일
0

[백엔드] Spring Boot

목록 보기
6/27

어노테이션과 접근 제한자에 대한 이해

코드를 작성할 때 자주 사용되는 요소 중 두 가지가 있습니다. 바로 "어노테이션(Annotations)"과 "접근 제한자(Access Modifiers)"입니다. 이 두 가지는 코드의 가독성, 재사용성, 보안 등을 개선하는 데 중요한 역할을 합니다. 이번 글에서는 어노테이션과 접근 제한자에 대해 알아보겠습니다.

어노테이션(Annotations)

어노테이션은 코드에 부가적인 정보를 제공하고, 컴파일러나 다른 개발 도구에게 지시하는 역할을 합니다. 주로 @ 기호를 사용하여 표현하며, 다양한 목적으로 사용됩니다.

예시 어노테이션:

  1. @Entity : JPA(Java Persistence API)에서 사용되며, 클래스를 데이터베이스 테이블과 매핑하는 엔터티임을 나타냅니다.

  2. @Getter : Lombok 어노테이션으로, 클래스의 필드에 대한 게터 메서드를 자동으로 생성합니다. 이를 통해 필드 값을 읽을 수 있습니다.

  3. @Builder : Lombok 어노테이션으로, 빌더 패턴을 사용하여 객체를 생성할 수 있게 해줍니다. 객체 생성 시 다양한 매개변수를 편리하게 설정할 수 있습니다.

  4. @Table(name = "user"): 엔터티 클래스를 매핑할 데이터베이스 테이블의 이름을 지정합니다. "user"라는 테이블과 매핑됩니다.

  5. @NoArgsConstructor(force = true): 인자가 없는 생성자를 자동으로 생성합니다. force = true는 final 필드를 초기화하기 위해 사용됩니다.

  6. @AllArgsConstructor: 모든 필드를 인자로 받는 생성자를 자동으로 생성합니다.

어노테이션을 적절하게 활용하면 코드의 가독성을 향상시키고 개발 프로세스를 간소화할 수 있습니다.

접근 제한자(Access Modifiers)

접근 제한자는 클래스, 메서드, 변수 등의 멤버에 대한 접근 권한을 제어합니다. 코드의 보안과 모듈화를 지원하며, 코드 유지 보수와 협업에 큰 도움이 됩니다. 주요한 접근 제한자에는 public, private, protected 등이 있습니다.

주요 접근 제한자:

  1. public: 이 접근 제한자를 가진 멤버(필드, 메서드 등)는 어디서든 접근 가능합니다. 즉, 클래스 내부와 외부에서 모두 접근할 수 있습니다.

  2. private: 이 접근 제한자를 가진 멤버는 클래스 내부에서만 접근 가능하며, 클래스 외부에서 직접 접근할 수 없습니다. 보통은 정보 은닉과 캡슐화를 위해 사용됩니다.

  3. protected: 이 접근 제한자를 가진 멤버는 클래스 내부 및 해당 클래스를 상속한 하위 클래스에서만 접근 가능합니다. 외부에서 직접 접근할 수 없으며, 주로 상속 관계에서 사용됩니다.

이러한 접근 제한자를 활용하여 클래스의 필드나 메서드에 대한 접근을 제어하고, 코드의 유지 보수와 보안을 강화할 수 있습니다.

어노테이션과 접근 제한자의 활용

위에서 설명한 어노테이션과 접근 제한자는 코드 작성 시 중요한 역할을 합니다. 어노테이션은 코드에 메타데이터를 부여하여 동작을 변경하거나 특정 기능을 활성화할 때 유용하게 사용됩니다. 접근 제한자는 클래스 내부의 멤버를 외부로부터 보호하고 모듈 간의 인터페이스를 정의할 때 중요한 역할을 합니다.

이러한 요소들을 적절하게 활용하여 코드를 작성하면 보다 효율적이고 안전한 개발을 할 수 있습니다. 각각의 어노테이션과 접근 제한자를 이해하고 적절하게 활용하는 것이 중요합니다.


이를 통해 클래스의 필드에 대한 접근을 캡슐화하고, 필요한 경우에만 필드 값을 노출시키는 등의 설계 패턴을 구현할 수 있습니다.

이 글을 통해 어노테이션과 접근 제한자에 대한 기본 개념을 이해하고, 코드 작성 시에 어떻게 활용하는지에 대한 감을 잡았을 것입니다. 이러한 요소들은 자바와 같은 프로그래밍 언어에서 중요한 부분이며, 실무에서 자주 사용됩니다.

profile
Spring Boot 백엔드 주니어 개발자

0개의 댓글