프록시 패턴을 활용한 AOP ( 백기선 inflearn 강의 참고 )
팩토리 메소드 패턴에서 템플릿 메소드 패턴의 사용됨을 안다. 팩토리 메소드 패턴에서의 구조와 구현의 분리를 이해 creator 클래스 내에 create 함수가 템플릿 메소드 패턴처럼 여러 단계로 나누어지는 경우가 있다. ex ) oper1 실행 후 oper2 실행 ... 이것을 사용 요구사항 게임 아이템과 아이템 생성 구현 아이템을 생성하기 전에 데이터 베이스에서 아이템 정보 요청 아이템 생성 후 아이템 복제 등 불법 방지를 위해 DB에서 아이템 생성정보를 남김 아이템을 생성하는 주체를 ItemCreator로 이름을 짓는다. 아이템은 item이라는 인터페이스로 다룬다( use함수를 기본으로 가지고 있다.) 현재 아이템의 종류는 체력 회복 물약, 마력 회복 물약이 있다. public interface It..
알고리즘을 단계별 메소드로 나눈다! ( Operation1(), Operation2(), Operation3() ); 알고리즘을 수행할 템플릿메소드를 만든다. 하위 클래스에서 메소드 구현 요구사항 1. 신작 게임의 접속 구현 - requestConnection(String str) : String 유저가 접속시 다음을 고려 보안: 보안 처리, 인증: id/pwd 확인, 권한: 유료회원인지 무료회원인지 확인, 접속: 접속자에게 커넥션정보 넘김 추상화 클래스 ( 알고리즘의 단계별 메소드, 정의된 메소드를 이용한 템플릿 메소드 작성 ); public abstract class AbstGameConnectHelper { protected abstract String doSecurity(String string)..
정의 Exception은 Checked Exception과 Unchecked Exception으로 구분됨 RuntimeException을 상속하지 않는 클래스가 Checked Exception RuntimeException을 상속한 클래스가 Unchecked Exception 특징 RuntimeException 은 언제 발생할까? 프로그래머의 실수로 발생하는 예외 ( 0으로 나누기, nullPointer, outofindex) => Code를 잘못 만들어서 생기는 문제. => 업무의 흐름보다는 기본적인 에러. => 컴파일 하는데는 문제가 없다. 실행하면 문제가 발생함. ----------------------------------------------------------------------------..
Wrapper 클래스 자바의 primitive type의 객체화 버전이다. 비교PrimitiveWrapper 1 byte Byte 2 short Short 3 int Integer 4 long Integer 5 float Integer 6 double Integer 7 char Character 8 boolean Boolean 박싱 : 기본 타입 -> 래퍼 클래스의 형태로 변환 언박싱 : 래퍼 클래스 -> 기본 타입의 형태로 변환 자바 1.5 버전 이상부터는 박싱/언박싱이 자동으로 됨 사용이유 int [] arr = new int[4]; ArrayList list = new ArrayList() -----> Error ArrayList list = new ArrayList() Integer로 받는 경우에..