Java 기초 접근제어지시자 - 캡술화
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
캡슐화에 대해 이해한다.
코드
package ex10accessmodifier;
/*
캡슐화(Encapsulation){
: 여러가지 비즈니스 로직을 하나로 묶는다는 의미와
업무의 순서까지 고려한 형태의 로직을 구성한다는 의미를
가지고 있다.
즉, 관련있는 메소드를 하나의 클래스로 묶는것을 말한다.
*/
class MemberRegist{
void doMenberRegist() {
System.out.println("1. 회원가입을 진행합나다.");
}
}
class CongratulationPoint{
void doCongratulationPoint() {
System.out.println("3. 가입축하 10포인트를 지급합니다.");
}
}
class AutoLogin{
void doAutoLogin() {
System.out.println("2.자동로그인");
}
}
class FirstLoginEvent{
void doFirstLoginEvent() {
System.out.println("4. 척 로그인 이밴트 페이지로 이동합니다.");
}
}
/*
업무의 순서를 고려하여 관련된 메소드를 하나의 클래스로 정의하였다.
자후에는 별도의 분석없이 해당 클래스의 메소드만 호출하면
업무는 오류없이 진행될 것이다.
*/
class EncapsulLogic{
MemberRegist memberRegist = new MemberRegist();
FirstLoginEvent firstLoginEvent = new FirstLoginEvent();
AutoLogin autoLogin = new AutoLogin();
CongratulationPoint congratulationPoint = new CongratulationPoint();
void doProcess() {
memberRegist.doMenberRegist();
autoLogin.doAutoLogin();
congratulationPoint.doCongratulationPoint();
firstLoginEvent.doFirstLoginEvent();
}
}
//아래 4가지 없무는 번호순서대로 진행되어야 한다고 가정한다.
public class E05Encapsulation {
public static void main(String[] args) {
/*
업무의 진행순서가 중요하다고 했을 때 캡슐화 이전의 코드에서는
개발자가 순서를 지키지 않는 상태에서도 실행이 가능한 코드가 된다.
*/
System.out.println("캡슐화 전 코드");
MemberRegist memberRegist = new MemberRegist();
FirstLoginEvent firstLoginEvent = new FirstLoginEvent();
AutoLogin autoLogin = new AutoLogin();
CongratulationPoint congratulationPoint = new CongratulationPoint();
memberRegist.doMenberRegist();
firstLoginEvent.doFirstLoginEvent();
congratulationPoint.doCongratulationPoint();
autoLogin.doAutoLogin();
System.out.println("==================================");
System.out.println("캡슐화 이후 코드");
new EncapsulLogic().doProcess();
}
}
캡슐화라고 해서 뭔가 어려운거 같지만 코드를 보면 전혀 어려운 내용이 아닙니다.(물론 뭐든 깊게 배우면 어렵겠지만요..) 여러가지 순서로 처리해야 할 내용을 하나의 메소드를 묶어 한번에 처리할 수 있도록 하는 것 그로 인해서 업무효율과 실수를 줄이는 것을 캡슐화 라고 합니다.
결과 값
'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 static(1) (0) | 2020.11.17 |
---|---|
Java 기초 접근제어지시자 - 연습문제(1) (0) | 2020.11.16 |
Java 기초 접근제어지시자 - 과일판매 (0) | 2020.11.16 |
Java 기초 접근제어지시자 - 패키지편 (0) | 2020.11.13 |
Java 기초 package(3) (0) | 2020.11.12 |