23.01.30 day06 getter, setter

Lee·2023년 1월 30일
0

1. 은닉성

1-1. 은닉성이란?

  • 멤버변수나 메서드가 객체에 노출되지 않도록
    설정하는 기법
  • 객체를 사용하는 측의 실수로 인한 기능의
    오작동을 방지하기 위해, 클래스의 일부를
    숨기는 처리를 말한다.

1-2. 적용방법

  • 변수의 이름이나 메서드 이름 앞에 "접근 한정자"를
    지정한다.

  • public
    -> 모든 곳에서 접근 가능하다.
    -> 일반적으로 모든 메서드 앞에 명시한다.

  • private
    -> 클래스 안에서만 사용가능하고, 객체를 통해
    접근 할 수 없다.
    -> 일반적으로 모든 멤버변수 앞에 명시한다.

  • protected
    -> 현재 클래스 내의 다른 자원이나, 같은 패키지
    안에 존재하는 클래스와 하위 클래스에서
    접근 가능하다.
    - > 잘 사용되지 않는다.

  • default
    -> 접근 한정자를 명시하지 않은경우.
    -> 현재 클래스 내의 다른 자원이나
    동일 패키지 내의 다른 클래스에서 접근 가능하다.
    -> 잘 사용하지 않는다.

1-3. getter, setter

  • 멤버변수가 은닉된 형태로 선언된 경우 프로그램의
    가장 근본적인 목적인 데이터에 접근하는 방법이
    사라지므로 메서드를 통한 간접적으로 접근하는 방법이
    마련되어야 한다.

  • getter, setter는 은닉된 멤버변수에 간접적으로 접근하기
    위하여 정의된 메서드들을 의미하는 용어이다.
    -> getter : 은닉된 멤버변수의 값을 리턴하기
    위한 메서드
    - > setter : 파라미터로 전달된 값을 멤버변수에
    복사하기 위한 메서드

String userName
- getter : String getUserName()
- setter : void setUserName( String userName )

int userAge
- getter : int getUserAge()
- setter : void setUserAge(int userAge)

  • "get", "set" 접두사 뒤에 변수이름을 첫 글자가
    대문자인 형태로 명시

  • getter는 연결된 멤버변수의 데이터 타입을 리턴형을 명시

  • setter는 연결된 멤버변수의 데이터 타입을 파라미터
    형으로 명시

1-4. 클래스에 접근 한정자를 지정한 경우

  • public
    -> 객체 생성이 가능하다.
    -> 서로 다른 소스코드에 정의된 클래스끼리도
    객체 생성이 가능하다.
  • private ->클래스에 적용 할 수 없다.
  • protected -> 클래스에 적용 할 수 없다.
  • default
    -> 동일한 소스코드에 정의된 클래스끼리만
    객체로 생성 가능하다.
    -> 지금까지 예제 형태

1-5. 자바빈즈(javaBeans)

  • 자바언어에서 사용하는 복합적 데이터 표현의 최소
    단위로서, 재사용이 가능한 컴포넌트(구성요소)를
    생성 할 수 있다.
  • 자바빈즈 클래스로서 작동하기 위해서, 객체 클래스는
    명명법, 생성법, 그리고 행동에 관련된 일련의 관례를
    따라야만 한다.
profile
wow

0개의 댓글