본문 바로가기

분류37

State Pattern (스테이트 패턴) State Pattern(스테이트 패턴)이란, 일련의 규칙에 따라 객체의 상태(State)를 변화시켜, 객체가 할 수 있는 행위를 바꾸는 패턴이다. 상태에 따라 행동이 변화하는 객체엔 모두 적용할 수 있다. 이번 기회에 스테이트 패턴을 적용하여 알람 시계를 한 번 만들어 보도록 하자. 기능은 단순하게 normal, alarm상태 두 가지로 한정한다. State 패턴의 핵심은 상태를 인터페이스로 분리시키는 것이다. 따라서 상태들을 유연하게 관리할 수 있기 때문에 유지 보수에 효율적이다. 우선 시계의 상태를 인터페이스로 정의해보자. 시계는 normal(보통일 때의 상태), 와 alarm(알람이 울릴 때 상태) 두가지 경우를 가지고 있다. 우리가 만들고자하는 Clock 클래스를 구현해보자. State 패턴에서.. 2015. 12. 17.
Singleton Pattern (싱글턴 패턴) Singleton Pattern(싱글턴 패턴) 이란, 단 하나만의 인스턴스를 만들어 어디서든 접근할 수 있도록 만든 패턴 유형이다. 싱글턴에도 종류가 어려가지 있지만, 가장 기본적인 싱글턴 유형부터 살펴보기로 하자.[그림] Basic Singleton 싱글턴 패턴의 구현자체는 어렵지 않다. 먼저 싱글턴 클래스 안에 인스터스를 저장할 변수(sInstance)를 전역으로 선언해준다. 다음으로생성자를 private로 선언해주면 클래스 밖에서 객체의 생성이 불가능하게 된다. 따라서 이 객체의 인스턴스는 getInstance() 메소드를 처음 호출했을 때만 만들어지게 되며, 다음번부터 호출될 시에는 처음에 만들어진 인스턴스만 참조하게 된다. 실제로 같은 주소를 공유하는지 메인함수에서 toString() 함수를 호.. 2015. 12. 17.
SOLID 원칙 프로그래밍 설계를 하다보면 객체지향 5대원칙 또는 SOLID 원칙이란 단어를 들어본 적이 있을 것이다. 당시에 구글링을 하여 찾아보았지만 프로그래밍 내공이 부족하여 잘 이해가 되지 않았다. 그때보다 조금(?) 나아진 현재 다시 공부하면서 나름대로 이해한 내용을 여기에 정리해 보고자 한다. 객체지향 5대 원칙이란,SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), DIP(의존 역전 원칙), ISP(인터페이스 분리 원칙)을 말하며, 앞자를 따서 SOILD 원칙이라고 부른다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 소프트웨어를 만드는데 이 원칙들을 적용할 수 있다. 1. Single Responsiblity Principle (단일 책임 원칙) - 소프트웨어의 설계.. 2015. 12. 14.
자바스크립트 배열 배열은 언어에 구분없이 많이 사용되는 자료구조이다. 여기서 자바스크립트에 사용되는 배열을 한번 정리해 보자. 1. 배열 선언 배열을 만드는 방법은 여러가지가 있다. 1) [ ]를 이용하여 배열을 선언하는 방법 var numbers = []; // 배열 선언 var numberArray = [ 1, 2 , 3, 4 , 5]; 2) Array 생성자를 호출하는 방법 var numbers = new Array(); var numberArray = new Array(1, 2, 3, 4, 5); 파라미터를 1개만 줄 경우 배열의 길이를 할당한다. var numbers = new Array(5); // 길이가 5인 배열 생성 일반적으로 1번 방법을 사용하는것이 더 효율적이다. 2. 배열에 접근하기배열에 접근할 땐 .. 2015. 11. 1.
자바스크립트 변수 자바스크립트에서 변수선언은 다른 언어와 다른 특징이 존재한다.여기에 자바스크립트만이 가지는 변수 타입의 특징을 정리해 보자. 1. 변수 선언 방식자바스크립트에서 변수는 var 키워드를 사용하여 선언한다.C언어에서는 자료형에따라 int, float, char 형 등으로 변수를 선언하지만, js에서는 var 키워드 하나로 모두 통일한다. 다른 언어와 마찬가지로 선언과 동시에 초기화 할 수 있다.var x;var y = 10; // 정수var a = 10, b = 20, c = 30;var floatValue = 1.2; // 실수var flag = true; // boolvar myString = "Hello World!"; // string 2. 유효 범위자바스크립트의 변수는 함수 범위(function s.. 2015. 10. 30.
C언어 표준 입출력 정리 C언어에서 표준 입출력은 printf(), scanf() 함수 등을 사용한다.이러한 입출력 사용방법은 여러가지가 있는데, 이번 기회에 정리해 보고자 한다. 1) printf() / scanf()가장 많이 사용하는 표준 입출력 함수로써 헤더파일에 정의되어 있다.출력 함수는 printf("출력내용 %d, integer); 과 같이 사용할 수 있다.입력 함수는 scanf("%d %f", &integer,, &float); 와 같이 사용할 수 있다. *예제 %d, %f를 형식 지정자라 하며, 출력 형식을 지정할 수 있다.Format Specifier 변환 내용 %d 10진수 정수형 %ld long 타입 10진수 %o 8진수 %x 16진수 %u unsigned 타입 10진수 %f 실수형 %lf double 타입 .. 2015. 10. 30.