Java - 클래스#3

이새봄·2022년 9월 3일

Java

목록 보기
3/11

이 글은 이것이 자바다를 참고하여 작성되었습니다.

접근 제한자

  • public, protected, default, private 네 종류

클래스의 접근 제한

: 클래스에 접근할 수 있는 접근 제한 : public, default

default 접근 제한
class 클래스 {...}

  • 클래스를 선언할 때 public을 생략했다면 클래스는 default 접근 제한을 가진다.
  • 같은 패키지에서는 아무런 제한이 없지만 다른 패키지에서는 사용할 수 없도록 제한된다.

public 접근 제한
public class 클래스 {...}

  • 제한이 없다.

생성자의 접근 제한

: 생성자에 접근할 수 있는 접근 제한 : public, protected, default, private

public class ClassName {
    [public|protected|prviate] ClassName(...){...}
}
  • 클래스에 생성자를 선언하지 않으면 컴파일러에 의해 자동적으로 기본 생성자가 추가된다. 자동으로 생성되는 기본 생성자의 접근 제한은 클래스의 접근 제한과 동일하다.

필드와 메소드의 접근 제한

: public, protected, default, private

// 필드 선언
[public|protected|prviate] [static] 타입 필드;
// 메소드 선언
[public|protected|prviate] [static] 리턴 타입 메소드(...){...};

Getter, Setter 메소드

: 데이터는 외부에서 접근할 수 없도록 막고 메소드는 공개해서 외부에서 메소드를 통해 데이터에 접근하도록 유도한다.

  • Setter 메소드 : 메소드를 통해서 데이터를 변경.
  • Getter 메소드 : 메소드로 필드값을 가공한 후 외부로 전달.
    필드 타입이 boolean일 경우 Getter는 get으로 시작하지 않고 is로 시작하는 것이 관례
  • 만약 외부에서 필드값을 읽을 수만 있고 변경하지 못하도록 하려면(읽기 전용) Getter 메소드만 선언해도 좋고 Setter 메소드를 private 접근 제한을 갖도록 선언해도 좋다.

어노테이션(Annotation)

: 메타데이터(metadata)라고 볼 수도 있다. 메타데이터란 애플리케이션이 처리해야 할 데이터가 아니라, 컴파일 과정과 실행 과정에서 코드를 어떻게 컴파일하고 처리할 것인지를 알려주는 정보.

0개의 댓글