[JAVA] 클래스(필드)

Gabriela·2023년 7월 19일
0

JAVA

목록 보기
8/24

‣ 필드 field

  • 객체가 가질 수 있는 값을 저장변수이다.
  • 클래스에서 선언한다.
  • 필드는 자동으로 초기화된다.(0, 0.0, false, null)
  • 정보 은닉을 위해서 private 처리한다.

  • 객체마다 다른 값을 전달하려고 할 때 필드에 저장해서 사용한다.
  • 모든 객체가 가지는 고유의 값은 필드에 저장한다.

  • 필드 호출 방법: 객체명.필드명
  • 메소드 호출 방법: 객체명.메소드명

‣ 접근 제어 지시자(Access Modifier)

  • private : 같은 클래스 내부에서만 접근할 수 있다.
  • default : 동일한 패키지 에서만 접근할 수 있다. (access modifier를 작성하지 않는 경우)
    • 아무것도 안 적은 상태디폴트라고 한다.
  • protected : 동일한 패키지 or 다른 패키지에 있는 상속 관계의 클래스만 접근할 수 있다.
  • public : 어디서든 접근할 수 있다.

‣ 정보 은닉(Information Hiding)

  • 객체가 가진 내부 정보(필드)를 외부에 직접 노출하지 않는다.
  • 외부로부터 내부 정보(필드)를 숨김으로써 정보를 안전하게 관리할 수 있다.
  • Java에서는 정보 은닉을 위해서 필드private 처리하고, 메소드public 처리한다.
  • Java에서는 메소드를 통해서 필드에 접근한다.(필드에 직접 접근할 수 없다.)

‣ Getter와 Setter(게터와 세터)

  • Getter
    1) 필드값을 외부로 반환(return)하는 메소드이다.
    2) get + 필드명 형식의 이름을 가지는 메소드이다.
    3) 메소드 이름을 마음대로 바꾸면 안 된다.

  • Setter
    1) 외부로부터 받아 온 값(파라미터)을 필드에 저장하는 메소드이다.
    2) set + 필드명 형식의 이름을 가지는 메소드이다.
    3) 메소드 이름을 마음대로 바꾸면 안 된다.

  • 참고. boolean 타입의 필드는 Getter의 이름 형식에 get 대신 is로 명칭한다.

  • Getter/Setter는 일반적으로 같이 만들어서 사용한다.


⇒활용 예제

• User 클래스에 필드와 메소드(Getter, Setter) 만들기

public class User {
 
// field
  // 객체를 만들고, 객체를 이용해서 호출한다.
  private String id;   
  private int age;
  // private을 사용하지 않아서 정보은닉이 깨지면 아무나, 어디서든 필드값을 변경해버릴 수 있다.
 
// method
  // getter : 필드값을 외부로 반환(return)하는 메소드
  public String getId() {
    return id;
  }
  public int getAge() {
    return age;
  }
 
  // setter : 외부로부터 전달된 값(파라미터)를 필드에 저장하는 메소드
  public void setId(String param) {
    id = param;
  }
  public void setAge(int param) {
    age = param;
  }
}

• User 클래스 객체화

  public static void main(String[] args) {
   
    // User 객체(객체명 u)
    User u = new User();
   
    // User 객체에 데이터 저장
    u.setId("admin");
    u.setAge(30);
   
    // User 객체의 데이터 확인
    System.out.println(u.getId());
    System.out.println(u.getAge());
  }

profile
개발이 세상에서 제일 재밌어요

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

글이 잘 정리되어 있네요. 감사합니다.

답글 달기

관련 채용 정보