멀티 스레드를 공부하면서 자주 접하는 동시성(concurrency)과 병렬성(parallelism)에 대해 공부하다 보니 점점 양이 많아져 정리해 보려고 합니다.출처 : https://seamless.tistory.com/42작업이 동시에 발생하는 것처럼 보이
싱글톤 패턴은 객체의 인스턴스가 단 하나만 생성되고 해당 인스턴스를 공통으로 사용하는 것입니다.최초 한번의 인스턴스 생성으로 고정된 메모리 영역을 공유하기 때문에 메모리 낭비를 방지할 수 있습니다.싱글톤 인스턴스는 전역적으로 사용되기 때문에 해당 인스턴스 데이터를 공유
전략 패턴이란 전략 패턴이란, 옵션마다의 행동을 캡슐화하여 인터페이스를 정의하고, 독립적이고 상호 교환가능하도록 만드는 패턴입니다. 예를 들어, CoffeeMachine을 이용해 Coffee를 받으려고할때 Americano와 CafeLatte를 받을 수 있습니다.
상태 패턴이란, 각 상태를 클래스로 만들고 해당 상태에서 이루어질수 있는 행동을 정의하도록 설계하는 패턴 입니다.참조각 상태들을 클래스로 만들어 각 상태에서 이루어지는 행동을 메소드로 정의하고 캡슐화하여 인터페이스를 호출하는 방식으로 이루어집니다.Laptop을 예시로
행위 패턴이란, 행위를 클래스로 만들어 캡슐화하는 패턴입니다.객체A가 객체B의 메소드를 실행하기 위해서는 객체A는 객체B를 의존해야합니다.그렇게 된다면 기능의 수정이 발생할때, 객체A에서도 수정이 이루어져야하기 때문에 OOP원칙을 위배하게 됩니다.예를 들어 Client
프로그래밍을 하면서 "~을 사용하게 되면 결합도가 낮아지고, 응집도가 높아지는 장점을 가질 수 있다." 라는 이야기를 많이 본 경험이 있습니다. (특히 cs 공부하다보면)자주 보인다는것은 그만큼 중요하고 기초적인 이야기라는 뜻입니다.결합도는 무엇이고, 응집도는 무엇인지
자바의 중요한 개념인 OOP의 특징에서 추상화에 대해 알아보기 위해 남궁성님의 자바의 정석 중 객체지향에 대해 학습하고 정리해보겠습니다.추상화란 공통적으로 사용되는 속성과 기능을 추출하여 정의하는 것입니다.참새와 독수리는 둘다 날개를 가지고 있고 날 수 있습니다. 하지