은닉성

sey950·2023년 12월 27일
0

Java

목록 보기
8/12
post-thumbnail

은닉성

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

● 적용방법

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

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

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

getter, setter
"은닉된 멤버변수에 간접적으로 접근하기 위하여 정의된 메서드들을 의미하는 용어"

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

-> getter: 은닉된 멤버변수의 값을 리턴하기 위한 메서드
-> setter: 파라미터로 전달된 값을 멤버변수에 복사하기 위한 메서드

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

※ 자동완성기능 : RC -> source -> generate(....)
다량의 데이터(매개변수)를 정의해야할 때 편리하다.

  • 하나의 소스코드에서 프로그램의 모든 기능을 구현하게 되면
    유지보수에 비효율적이므로, 기능단위로 소스코드를 분리해야한다.
  • 소스코드가 분리된 클래스 끼리는 public이 명시되어야만 서로 객체 생성이 가능하다.
  • 일반적으로 클래스 정의에는 public접근 한정자만 사용
  • 하나의 소스코드에는 하나의 public클래스만 존재 가능

자바빈즈(Java Beans)

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

  • 관례
    -> 클래스는 생성자를 가지고 있어야 한다.
    -> 클래스의 속성들은 get,set 혹은 표준 명명법을 따르는 메서드들을 사용해 접근할 수 있어야 한다.
profile
eun_0

0개의 댓글

관련 채용 정보