OPP 객체지향 프로그래밍 2

구건회·2022년 5월 12일
0

캡슐화

캡슐화란?

데이터를 외부로 부터 보호 하기 위해 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐로 만드는 것이다.

캡슐화의 필요성

원치 않는 외부로 부터의 데이터 개입을 막을 수 있고, 데이터가 변경 되더라도 다른 객체에
영향을 주지않게 끔 독립성을 확보 할 수 있다.

패키지(Package)

패키지란?

특정한 목적을 공유하는 클래스 의 묶음을 의미하며, 컴퓨터에서 폴더와 비슷한 개념을 가지고 있습니다.
클래스의 실질적인 이름에는 패키지를 포함 하고있다.
(ex String 클래스의 이름은 = java.lang.String)
패키지의 구분으로 인해 같은 클래스명을 사용하더라도, 충돌을 막을 수있으며 접근 제어범위 설정에 용이하다.

패키지는 소스 파일 첫 문장에 아래와 같이 선언되며

package practicepack.test;

public class ~~~~ {

}

같은 소스파일의 클래스들은 같은 패키지에 속하게 된다.

Import 문

Import 문은 원래 클래스를 사용할 때, 매번 사용되는 클래스의 매키지명을 작성 해줘야하는 부분을 생략하게 만들 수 있다.
import문은 다음과 같이 선언할 수 있는데,

import 패키지명.클래스명;
or
import 패키지명.*;

예를 들어

class Importexample{
java.util.Date today = new java.util.Date();
}

와 같은 코드를 Import 문을 사용하면

Import java.util.Date;

class Importexampl {
Date today =new Date();

와 같이 바꿀 수 있다. ** 다만 기본 java.lang패키지는 Import 하지 않아도 쓸 수 있다.

제어자(Modifier)

제어자란?

제어자란 클래스와 클래스의 멤버등에 부가 적인 의미를 부여하는 형용사와 비슷한 개념이다.
제어자는 크게 접근 제어자와 그 외 일반 제어자로 나뉘는 데,
하나의 대상에도 여러제어자를 수식해줄수있다.**단 접근 제어자는 하나만 사용가능하다.

접근 제어자는 제한의 범위에 따라 종류가 나뉘는데 다음과 같다.

이러한 접근 제어자의 사용이 캡슐화를 구현하기 위한 핵심적인 방법이다.

getter와 setter 메서드

접근 제어자를 통해 캡슐화를 이루 었다면 여기에 getter 과 setter 메서드를 사용함으로써,
데이터를 보호하면서도 어떻게 데이터를 변경하는 지에 대한 방법이 나온다.

setter의 경우 외부에서 접근하여, 조건이 맞을 경우 그 데이터를 바꿀 수 있고
getter 메서드를 통해 이렇게 설정한 특정 데이터를 읽어올 수 있다.

0개의 댓글