전체 글35 스택, 큐, 데큐 스택(Stack)-스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 후입선출(LIFO:Last In First Out) 구조로 되어 있다.-입출력이 모두 한 방향에서 이루어지는 데이터 구조이다.-입출력이 가능한 쪽을 TOP, 바닥을 BOTTOM이라고 한다.-TOP은 출력 우선순위가 가장 높은 요소를 가리키고 있다.-입출력을 할 위치를 표시하기 위해서 TOP(포인터 사용)이 필요하다.-TOP을 통해서 데이터를 넣는 것을 PUSH라고 하고, 꺼내는 것을 POP이라고 한다.-스택을 구현하는 방법은 배열과 연결 리스트가 있다. 배열의 큰 단점은 처음 생성한 크기를 바꿀 수 없다는 점이다. 그래서 순차적으로 데이터를 추가하고 삭제하는 스택은 배열리스트(Array List)와 같은 배열기반의 컬렉션 클래스가 적합하.. 2017. 5. 25. Model2 MVC 패턴 MVC 패턴 MVC 패턴은 GUI 기반 Application 설계 패턴이다. 클라이언트의 요청을 받아 처리하여 응답하는 로직을 MVC 패턴은 Model, View, Controller로 나누어 소프트웨어를 개발하는 설계 방식이다.MODEL모델은 2가지의 역할을 한다. 첫 번째는 비지니스로직(비지니스 서비스)인 일의 흐름(work flow)를 처리하고, 두 번째는 데이터베이스 관련 로직(DAO)을 처리한다.프로그램 내부의 데이터 처리를 한다. 사용자가 입력한 데이터나 출력할 데이터를 다룬다.Java Beans VIEW사용자들에게 보여지는 부분이다. 사용자 인터페이스 요소라고 할 수 있다. 모델이 처리한 데이터나 그 작업 결과를 사용자에게 화면으로 출력하여 보여준다.JSP CONTROLLER사용자의 요청을 .. 2017. 5. 24. 배열/배열리스트/연결리스트 배열(Array) - 배열은 데이터를 논리적 순서에 따라 순차적으로 데이터를 입력하며, 물리적 주소 또한 순차적이다. 메모리 할당이 연속적이어서 인덱스를 사용하면 원하는 데이터를 한번에 접근이 가능하기 데이터 접근 속도가 매우 빠르다. 하지만 메모리 관리면에서 공간 낭비가 심하다. 또한 배열은 데이터의 삽입/삭제에는 취약하다. 배열 특성상 데이터 삽입/삭제가 이루어지면 삽입/삭제가 이루어진 위치의 다음부터 모든 데이터의 위치를 변경해야 하기 때문이다.만약 배열 데이터의 수가 10000개라고 하고 삽입/삭제가 빈번하게 일어난다고 가정을 하고 생각을 하면 프로그램은 데이터 삽입/삭제 때마다 데이터의 위치를 바꾸는데만 많은 자원을 사용할 것이다. 이것은 매우 비효율적이다. 배열리스트(ArrayList) -.. 2017. 5. 24. 객체 지향 프로그래밍(Object-Oriented Programming) 자바 객체 지향 프로그래밍(Object-Oriented Programming)1. 다형성생성하는 객체의 타입이 여러 형태로 나타나게 하여 다양한 기능을 이용할 수 있도록 하는 것이다.즉, 여러 개의 개별적인 클래스를 하나의 부모클래스 객체로 통합 관리하여 효율성을 높인다.public class Car{ Tire tire1 = new koreaTire(); Tire tire2 = new japanTire();}자바에서 다형성을 지원하는 기능으로 오버로딩과 오버라이딩이 있다.오버로딩(중복정의)함수명은 같지만 매개변수의 자료형태를 달리 주어서 재정의 해주는 것이다.정적바인딩(실행할 메소드를 컴파일 하는 시간에 결정)public void test(int x)public void test(double x)te.. 2017. 5. 23. 정규화 정규화데이터베이스의 중복을 최소화하고 효율적으로 데이터를 저장하여 이상현상을 해결할 수 있는 작은 논리적 구조로 바꾸는 과정* 정규화가 되지 않은 논리적 구조로 구축된 데이터베이스의 연산 시에 발생하는 문제점삭제이상 : 한 개의 튜플을 삭제할 경우, 유지해야 하는 정보의 손실이 일어나는 현상삽입이상 : 정보를 테이블에 삽입할 때 불필요한 정보까지 삽입해야 하는 경우갱신이상 : 중복된 튜플들 중 일부만 갱신하여 정보의 불일치가 발생하는 현상정규화의 목적1. 중복을 배제하여 삽입, 삭제, 갱인 이상의 발생을 방지한다.2. 간단한 관계 연산에 기초하여 검색을 효율적으로 할 수 있다.3. 데이터가 삽입될 때 릴레이션을 재구성할 필요성을 줄일 수 있다.4. 어떠한 릴레이션이라도 데이터베이스 내에서 표현이 가능하게.. 2017. 5. 23. List와 Map List와 Map은 공통적으로 데이터 저장공간이다.하지만 데이터가 저장되는 구조가 다르다.List는 순차적으로 데이터를 저장한다. 그리고 값을 저장할 때 중복된 값을 저장할 수 있다.List list = new ArrayList();list.add("0번째");list.add("1번째");for(String st : list){ System.out.println(st);}결과: 0번째 1번째Map은 키와 값으로 저장된다. 키값만 다르다면 값은 중복해서 저장할 수 있다.Map은 빈 공간을 찾아서 저장하기 때문에 List보다는 데이터 저장속도가 느릴 수 있다.하지만 키값을 통해서 빠르게 데이터를 검색할 수 있다.Map map = new HashMap();map.put("key1", "key1-va.. 2017. 5. 16. 이전 1 2 3 4 5 6 다음