기초탄탄 썸네일형 리스트형 스택 Stack선입후출, 후입선출 의 자료구조배열 스택배열 형태는 최대 넣을수 있는 stack이 갯수가 정해져 있음최대 개수 이상의 스택을 넣을수 없다. 링크드리스트 스택최대 갯수가 정해져 있지않고 링크드 리스트 형태로 계속 연결이 된다. [참고] http://blog.eairship.kr/210 더보기 데코레이터 패턴 Decorator Pattern주 객체에 추가적으로 장식이 그때그때 다르게 달린다면? 각 모든 경우의 수 클래스를 작성하면 관리도 힘들도 그 갯수가 무한대로 늘어난다.이를 보완하는 방법으로 Decorator 패턴을 사용한다. [참고] http://warmz.tistory.com/757 커피를 예를 들어 주 커피의 종류(블렌딩, 에스프레소, 디카페인, 다크로스트)에 우유와 휘핑, 모카 등의 첨가가 올라가 하나의 음료가 된다.각각의 음료를 클래스를 만들어 관리하는 것이 아니라, 주 커피에 첨가물(?)을 추가하게 한다.최상위 클래스를 상속받은 주 커피 종류 클래스와, 최상위 클래스를 상속 받은 Decorator란 추상 객체를 생성. Decorator를 상속받은 첨가물 클래스를 만든다. java.io 패키지가 .. 더보기 옵저버 패턴 Observer Pattern하나의 관리자 객체가 데이터를 수집하고 변경된 사항을 등록된 객체에게 통지하는 패턴.(observer의 뜻이 관찰자 인데, 관리자 라는 느낌이 더 맞지 않나?? 흠 일단 관리자로 쓰자.) java.util 을 사용하여 쉽게 패턴을 만들수 있다.java.util.Observable(관리자) java.util.observer(관리되어지는 대상) Observable API 사용시 단점Observable은 클래스이기에 확장해야만 하고, 재사용성에 제약이 생김.setChange() 등 함수가 protected로 선언되어 있어 외부에서 호출할 수가 없다. [참고] java api를 이용한 Observer 패턴http://hyeonstorage.tistory.com/165 위의 단점을 보.. 더보기 오토박싱 언박싱 자바 자료형은 크게 프리미티브 타입과 객체 타입으로 나누어짐프리미티브 타입 : int, string, char .... (기본 변수)객체 타입 : Integer, String, Character .... int number = 5; // 프리미티브 변수 Integer objNumber = number; // 같은 타입의 프리미티브를 객체에 넣을수 있다. 이를 가능하게 하는것을 오토 박싱!! int number = new Integer(5) // 객체를 생성해서 프리미티브에 넣는다. 언박싱!! 더보기 연결 리스트 Linked List단방향 연결 리스트Node를 단방향으로 연결head는 첫번째 Node를 가르키고 Node의 멤버변수로 다음 노드를 가르키는 Node next 변수가 존재함장점 : 데이터를 추가 삭제가 배열보다 용의하다. 메모리를 효율적으로 관리 할 수 있다 (배열을 크기가 정해져 있으나, 리스트는 존재하는 노드수 만큼만 메모리를 차지하기에)단점 : next변수에 대한 추가 메모리가 필요함. Doubly Linked List양방향 연결 리스트리스트의 head 와 tail을 가르키는 변수가 있고 각 Node의 멤버변수로 이전과 다음 노드를 가르키는 변수가 존재함장점 : 양방향 검색이 가능. 단방향 리스트보다 노드 삭제할 때 효율적임. (해당 노드의 prev 와 next의 노드를 연결하면 됨)단점 : 메모.. 더보기 이전 1 다음