객체 지향프로그래밍을 알기 위해서는 먼저 객체에 관해 알고 있어야 한다. 객체(Object)를 표현할 때, 흔히, 붕어빵 틀(클래스)에서 찍어낸 붕어빵이라고 표현한다. 좀 더 쉽게 아래의 그림으로 보자. 위는 강아지를 찍어낼 수 있는 강아지 클래스이다. 강아지의 이름,
디자인 패턴디자인 패턴은 프로그램을 개발하는 과정에서 빈번하게 발생하는 디자인 문제를 정리해서 상황에 따라 간편하게 적용할 수 있게 정리한 것이다. 소프트웨어 개발은 요구사항 분석 -> 설계 -> 구현 -> 테스트를 반복하게 되는데이때, 디자인 패턴은 설계에 해당한다.
특정한 목표를 수행하기 위한 행동 계획을 뜻한다. 디자인 패턴 중에 하나로 객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고 사용하며, 동적으로 전략 수정이 가능한 패턴을 말한다. 디자인 패턴: (소프트웨어)디자인 + (공통적으로 마주치는 문제를 해결하는 방법의)
어떤 '이벤트' 가 일어나는 것을 감시하는 패턴옵저버 패턴에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들의 내용이 자동으로 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다.데이터가 변경되었을 그 객체를 의존하는 다른 객체들은 데이터를
어떤 객체에 책임(기능)을 동적으로 추가하는 패턴기존 코드를 수정하지 않고도 데코레이터 패턴을 통해 행동을 확장시킬 수 있다. 구성과 위임을 통해서 실행중에 새로운 행동을 추가할 수 있다.의미없는 객체들이 너무 많이 추가된다. 구성 요소를 초기화하는 코드가 필요 이상으
객체를 생성하는 인터페이스는 미리 정의하되, 인스턴스를 만들 클래스의 결정은 서브 클래스쪽에서 내리는 패턴이다. 즉, 여러 개의 서브 클래스를 가진 슈퍼 클래스가 있을때, 인풋에 따라 하나의 자식 클래스의 인스턴스를 리턴해주는 방식. 객체 생성과 클래스 구현을 나눠 상
특정 클래스의 인스턴스가 하나만 만들어지도록 하는 패턴최초 생성 후 호출된 생성자는 객체를 리턴한다. 한 객체의 의존 관계를 외부 객체에서 결정해주는 것프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위, 즉 현재 실행 중인 프로그램.스레드 : 프로세스에서도 함수
행위패턴 중 하나요청을 각 형태로 캡슐화하여 요청을 저장, 로깅, 취소할 수 있게 하는 패턴이다. 이벤트를 발생시키지 않고 클래스를 변경하여 재사용하는 것이 가능하다.메소드의 호출을 실체화하는 것은 다 커맨드 패턴이다.즉 요청을객체로 감싸서 관리하는 것이다. 객체간의
구조패턴(Structural Pattern)클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴. 호환성 문제 때문에 함께 동작할 수 없는 클래스들을 함께 동작할 수 있도록 한다. Target: 기준이 되는 클래스Client: Target 클래스를
구조패턴(Structural Pattern)서브 시스템의 인터페이스 집합에 대한 하나의 상위 수준 인터페이스를 정의하는 패턴서브 시스템들 사이의 종속성을 줄일 수 있다. 낮은 결합도: 클라이언트가 서브 시스템즈의 코드를 모르더라도 Facade 클래스를 통해 사용이 가능
행위 패턴템플릿 메소드 패턴이란 특정 작업을 처리하는 일부분을 서브 클래스로 캡슐화하여 전체적인 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내용을 바꾸는 패턴템플릿 메소드 패턴은 알고리즘의 구조를 메소드에 정의하고, 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘
문제로 가는 링크: https://www.acmicpc.net/problem/10773등급: 실버4알고리즘 분류: 구현, 자료 구조, 스택
행위 패턴본질은 기반이 되는 표현을 노출시키지 않고 연속적으로 객체 요소에 접근하는 방법을 제공하는 것접근기능과 자료구조를 분리시켜서 객체화한다. 장점응집도를 높여준다. 집합체 내에서 어떤 식으로 일이 처리되는지 모르는 상태로, 모든 항목에 접근 할 수 있다. 단점단순
구조 패턴객체들을 트리 구조로 구성하여 그릇 객체와 내용물 객체를 동일하게 취급할 수 있도록 만들기 위한 패턴이다.단일 객체와 집합 객체로 구성된 하나의 일관된 클래스를 정의한다.Base Component 클라이언트가 composition 내의 Object들을 다루기
행위 패턴일련의 규칙에 따라 객체 내부의 상태를 변화시켜, 객체가 할 수 있는 행위를 바꾸는 패턴특정 기능을 수행한 후 다음 상태를 반환한다.State InterfaceContext의 각 상태별 행동을 정의한다.State implements interfaceContex
프록시에게 어떤 일을 대신 시키는 것이다.어떤 객체를 사용하고자 할때, 객체를 직접적으로 참조하는 것이 아닌 해당 객체를 대항하는 객체(프록시)를 통해 대상 객체에 접근하는 방식이다. 실제 실행시킬 클래스에 대한 메소드를 호출하는 지 프록시의 메소드를 호출하는지 모르게
구조 패턴단일 객체와 복합 객체를 동일하게 다루는 패턴객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴재귀적 특성을 갖고 있다.Leaf와 Composite를 같은 타입으로 생성하기 위한 인터페이스Leaf와 Composite가 동시에 갖는 함수를 선언
운영체제는 컴퓨터 하드웨어를 다루는 소프트웨어 입니다.운영체제는 컴퓨터의 하드웨어와 사용자 사이의 중개자 역햘을 합니다. 운영체제의 목적은 사용자가 편리하고 효율적인 방식으로 프로그램을 실행할 수 있는 환경을 제공하는 것입니다. 운영체제에는 Windows, MacOs,
운영체제의 주요 구성 요소이며 컴퓨터 하드웨어와 프로세스를 잇는 핵심 인터페이스이다. 전원이 켜짐과 동시에 메모리 위에 올라간다. 운영체제가 하드웨어에 있는 자원에 접근할 수 있게 한다. CPU제어(스케쥴링)프로세서 관리프로세스 관리메모리 관리파일 시스템 관리디바이스