본문 바로가기
Java

자바 알고리즘의 캡슐화 / 템플릿 메소드 패턴

by 자유코딩 2017. 9. 17.

자바로 알고리즘을 구현 해야 할때 캡슐화의 개념을 사용하면 코드를 작성하는데 도움이 된다.

 

캡슐화 : 관련 있는 메소드나 변수들을 하나의 클래스로 묶는 것.

 

예제) 만약 사람을 자바 프로그램으로 모델링 한다면

 

사람이 하는 행동잠자다 숨쉬다 밥먹다 메소드 들을 사람 클래스 안에 하나로 묶어놓는다.

 

사람의 키 몸무게와 같은 변수들도 사람 클래스 안에 같이 들어가게 된다.

 

이렇게 키, 몸무게라는 변수

 

잠자다 , 숨쉬다 , 밥먹다 라는 메소드 들을 사람 클래스 안에 구현하고 묶는 것을 캡슐화 라고 한다.

 

 

템플릿 메소드 패턴

 

템플릿은 보통 뭔가를 계속해서 그려내거나 만들어 낼 수 있는 틀을 말한다.

 

템플릿 메소드 패턴 : 알고리즘의 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴

 

구현하려는 알고리즘이 일정한 프로세스가 있다.

 

구현하려는 알고리즘이 변경 가능성이 있다.

 

1. 알고리즘을 여러 단계로 나눈다.

 

2. 나눠진 알고리즘의 단계를 메소드로 선언한다.

 

3. 알고리즘을 수행할 템플릿 메소드를 만든다.

 

4.하위 클래스에서 나눠진 메소드들을 구현한다.

 

 

 

예제

 

유저의 분류에 따른 게임 접속 인증 기능을 구현

 

조건 1. 무료회원 / 유료회원 / 게임매니저 / 권한 없음(회원이 아님)

 

조건 2. 회원 중 미성년자이며 10시가 넘었으면 셧다운

 

코드 예시

 

 

 

 

 

 

 

 

설명이 부족한 부분은 없으셨나요? 댓글이나 이메일로 질문해주시면 답변 드리겠습니다. 감사합니다.

 

이메일 : forsqna@gmail.com

댓글