(TIL) 20220515

2022. 5. 16. 03:13TIL(Today I learned)

반응형

🏴󠁩󠁤󠁪󠁷󠁿Facts(한 것)


  • 디자인 패턴 스터디 - 어댑터 패턴, 퍼사드 패턴, 템플릿 메서드 패턴
  • 알고리즘 문제 풀기
  • 자바 공부하기

🏴󠁩󠁤󠁪󠁷󠁿Findings(배운 것)


어댑터 패턴과 퍼사드 패턴, 템플릿 메서드 패턴에 대해서 공부했다.

 

어댑터 패턴의 경우 한 클래스에서 다른 클래스를 참조하고 싶은데, 자료형이 달라서 사용하지 못하는 경우 유용하다.

 

말 그대로 '어댑터'의 역할을 하는 인터페이스 어댑터를 생성해주고,

 

이 어댑터를 구현하는 구현체를 만들어, 두 클래스를 연결하여 사용이 가능하다.

 

모든 패턴을 정리해서 따로 포스팅 하겠다.

 

---

자바 인터페이스에 대해서 공부했다.

자바 인터페이스는 '서비스 공급자와 자신의 객체를 이 서비스에 사용하고 싶은 클래스 간의 계약을 기술하는 메커니즘이다.

위처럼 코어 자바9에서를 설명되어 있다.

 

하지만 이 정의만 보면 당최 이해가 가지 않을 것이다.

 

단순히 생각해서 메서드를 캡슐화 한다고 생각하면 좋다.

 

캡슐화가 무엇인가?

 

 

메서드가 원하는 결과대로만 값이 나오면 되는 것이고, 동작하는 방식은 자유인 것이다.

 

그 중 정의부가 인터페이스 인 것이고, 실현부는 정의된 인터페이스를 상속받은 서브클래스에서 구현하게 된다.

 

간단한 예시로

public interface IntSequence {
    boolean hasNext();
    int next();
}

 

이렇게 정의한 인터페이스가 있고,

public class SquareSequence implements IntSequnce {
    private Int i;

    public boolean hasNext() {
        return true;
    }

    public int next() {
        i++;
        return i * i;
    }
}

 

이렇게 구현부(실현부)가 있는 것이다.

 

디자인 패턴을 공부하면 수 많은 인터페이스를 만나게 된다.

 

그렇기에 지금 익숙해지는게 좋을지도...

🏴󠁩󠁤󠁪󠁷󠁿Affirmation(자기선언)


  • 매일 알고리즘 문제 1문제 이상 풀기 -> 성공
  • 수업 공부한 것은 일주일 내에 포스팅하기 -> 성공
  • 자바 8버전에 익숙해지기 -> 성공

🏴󠁩󠁤󠁪󠁷󠁿여담


반응형

'TIL(Today I learned)' 카테고리의 다른 글

(TIL) 20220518, 데이터 중심 애플리케이션 설계  (0) 2022.05.19
(TIL) 20220517  (0) 2022.05.18
(TIL) 20220513  (0) 2022.05.13
(TIL) 20220427  (0) 2022.04.28
(TIL) 20220423  (0) 2022.04.24