본문 바로가기

전체 글20

전략 패턴 (Strategy pattern) 안녕하세요 이번에는 디자인 패턴 중 하나인 [전략 패턴(Strategy pattern)]에 대해 알아보겠습니다. 먼저 전략 패턴을 구성하는 3가지 요소에 대해 알아보겠습니다. 전략 메서드를 가진 전략 객체 전략 객체를 사용하는 컨텍스트(전략 객체의 사용자/소비자) 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트(제3자, 전략 객체의 공급자) 전략 패턴은 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 수정하지 않고 전략을 바꿔서 행위를 유연하게 확장하는 방법입니다. 전략 패턴을 구성하는 3가지 요소로 예를 들어 설명하겠습니다. 아이가 밥을 먹을 때 포크만 사용하다 커가면서 엄마가 젓가락 사용법을 알려줘서 젓가락으로 밥을 먹는다고 상상했을 때 포크와 젓가락은 전략이 되고 아이는 컨텍스트, 엄마는 클라이언트.. 2021. 1. 9.
Garbage Collection 안녕하세요 이번에는 [Garbage Collection]에 대해 알아보겠습니다. Garbage collection 이란 ? Garbage collection이란 쓰레기 수거라는 뜻으로 자바에서 자동으로 메모리 관리를 해주는 알고리즘입니다. 쓰레기란 더 이상 사용되지 않는 객체를 뜻하며 이러한 객체들은 메모리에서 해제되어야 합니다. GC는 더 이상 사용되지 않는 불필요한 객체들을 정리해주는 작업을 합니다. GC의 원리 GC 작업을 하는 가비지 콜렉터는 3가지 역할을 담당합니다. 메모리 할당 사용 중인 메모리 인식 사용하지 않는 메모리 인식 가비지 컬렉터가 객체를 할당하는 영역을 힙 영역이라고 합니다. GC는 이 힙 영역에서 일어나는데 힙 영역에 대해 자세히 알아보겠습니다. 힙 영역은 Young, Old, .. 2021. 1. 8.
자바 인터페이스 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 1. 인터페이스 정의하는 방법 인터페이스 [public] interface 인터페이스이름 { ... }인터페이스는 class 대신 interface를 사용하여 정의할 수 있습니다. 또한 접근 제어자는 public만 사용 가능합니다. 인터페이스 구성요소 인터페이스의 구성 요소는 상수 필드, 추상 메소드, 디폴트 메소드, 정적 메소드입니다. 여기서는 상수 필드와 추상 메소드에 대해.. 2021. 1. 7.
자바 패키지에 관하여 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근 제어자 1. package 키워드 패키지란 클래스와 인터페이스의 집합을 의미합니다. 서로 관련이 있는 클래스나 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 됩니다. 또한, 협업 시 서로 작업한 클래스 사이에서 발생할 수 있는 이름 충돌 문제도 패키지를 이용하면 피할 수 있습니다. 예를 들어, 마케팅 사업부에서 Customer라는 클래스를 만들고 고객 사업부에서 Customer라는 클래스를 만들었을 때 패키지가 없다면 둘 사이를 구분하지 못해 문제가 발생할 것입니다. 그럴 때 패키지를 이용하여 마케팅 사업부.Customer.. 2020. 12. 31.