템플릿 메소드 패턴 - 알고리즘 구조를 메소드에 정의하고 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의하는 패턴 - 구현하려는 기능이 일정한 프로세스가 존재한다. - 구현하려는 기능이 사용하는 알고리즘이 추후 변경가능성이 있다. 템플릿 메소드 패턴을 위한 단계 1. 구현하려는 기능의 필요한 여러가지 단계를 확인. 2. 각각의 단계를 메소드로 분리 선언 3. 수행할 템플릿 메소드를 생성. 4. 하위 클래스에서 구현. 예제로 확인 추상 클래스 선언! public abstract class AbstGameConnectHelper { //외부에 노출되면 안됨. //보안과정 protected abstract String doSecurity(String string); //인증과정 protected a..
Adapter 패턴 - 한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다른 인터페이스로 변환한다. - 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다. 예제 public class Math { //두배 public static double twoTime(double num) {return num*2;} //절반 public static double half(double num) {return num/2;} //강화된 알고리즘으로 빠른 두배 계산. public static Double doubled(Double d) {return d*2;} } - 다음과 같이 이미 구현된 기능이 존재할 때, Math 클래스에 정의된 알고리즘을 이용하여 float 타..
스레드 상태제어 - 실행중인 스레드의 상태를 변경하는 것. - 메소드로 주로 제어 - interrupt(), sleep(), join(), wait(), yield() notify(), notifyAll() 등의 메소드가 존재. - 이중 notify(), notifyAll(), wait() 메소드는 Object 클래스의 메소드이고 나머지는 Thread 클래스의 메소드. 일정시간동안 일시정지 : sleep() - 실행중인 스레드를 일시정지. - 매개값으로 밀리초를 넣어주면 해당 시간동안 sleep() 메소드를 만나는 스레드는 일시정지함. - 일시정지 상태에서 interrupt() 메소드를 호출할 경우 InterruptedException이 발생됨. try{ Thread.sleep(1000); //1초간 일..
안드로이드는 맨처음 MainActivity에서 onCreate 메소드가 실행됨. 버튼을 클릭해서 액티비티를 전환하고자 한다면. 버튼에 클릭이벤트를 걸어야함. 그때 액티비티 이동하는 소스를 넣어준다. public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn1 = findViewById(R.id.btn1); btn1.setOnClickListener(new View.OnClickListener(){ @Ov..