프로그래밍 158

static , 접근제어

[ static ] - 클래스는 타입이다. 집이 아니고 집의 설계도임 따라서 클래스의 데이터 필드에 데이터를 저장할 수 없고, 클래스의 멤버 메서드를 실행할 수도 없다. - new 명령으로 해당 클래스 타입의 객체를 만든 후, 그 객체에 데이터를 저장하고, 그 객체의 멤버 메서드를 실행하는 것이다. - 하나의 예외가 존재하는데 이것이 바로 static 멤버이다. - static 멤버는 클래스 안에 실제로 존재하며 객체에는 존재하지 않는다. [ static 멤버의 용도] 1. main 메서드 2. 상수 or 클래스 당 하나만 유지하고 있으면 되는 값(예 PI : 1.141592...) 3. 순수하게 기능만으로 정의되는 메서드(Math.abs ... 등등) [ 접근제어 ] public : 클래스 외부에서 접..

연결리스트(Linked List)

[ 연결리스트를 구성하는 기본 단위 "노드" ] - 각각의 노드는 "데이터 필드"와 하나 혹은 그 이상의 "링크 필드"로 구성된다. - 링크 필드는 다음 노드를 참조한다. - 첫 번째 노드의 주소는 따로 저장해야 한다. 연결리스트의 구조는 아래와 같다. MySingleLinkedList 클래스의 head 는 첫 번째 노드를 가리킨다. 그리고 각 노드의 링크 필드(next)는 다음 노드를 가리킨다. 현재 노드가 마지막 노드라면 링크 필드는 그냥 null 이다. [ Node.class ] public class Node { // 데이터 필드와 , 링크 필드로 구성된다. public T data; public Node next; public Node(T item) { data = item; next = nul..

자료구조 2020.02.13

리스트 (LIST)

[ 리스트 ] - 순서대로 자료를 저장하는 자료구조 (노드라는 개념이 존재한다) - 메모리 공간이 필요에 따라 자유 - 기본적인 연산 삽입(insert) , 삭제(remove), 검색(search) 등 - 여러 개의 자료가 한 줄로 연결된 구조를 다른 말로 선형구조라고 한다. - 리스트를 구현하는 대표적인 두 가지 방법 : 배열, 연결리스트 [ 배열의 단점 ] - 크기가 고정되어 있어 reallocation 이 필요하다. - 리스트의 중간에 어떠한 데이터를 삽입하거나 삭제할 경우 다수의 데이터를 옮겨야 한다. [ 연결리스트 ] - 다른 데이터의 이동없이 중간에 삽입이나 삭제가 가능하며, 길이의 제한이 없다. - 그러나 랜덤 엑세스가 불가능하다. ( n 번째 데이터를 읽어야 할 때.. 처음부터 순서대로 찾..

자료구조 2020.02.13

제네릭 프로그래밍

[ Generic Programming ] 제네릭 프로그래밍은 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술에 중점을 두어 재사용성을 높일 수 있는 프로그래밍 방식. [ Generics ] T 라는 가상의 타입에 의해서 parameterized된 클래스 public class Box { private T t; public void set(T t) { this.t = t; } public T get() { return t; } } 사용예시 Box ingegerBox = new Box(); integerBox.set( new Integer(10 ); Box eventBox = new Box(); eventBox.set(new OndayEvent("dinner", n..

인터페이스

[ 인터페이스 ] - 추상 메서드만을 가진 순수한 추상 클래스이다. - static final 데이터 멤버(상수)를 가질 수 있다. - interface , implements 키워드를 사용 public interface Payable { public double calcSalary(); public boolean salaried(); public static final double DEDUCTIONS = 25.5; } // 반드시 인터페이스의 메소드를 오버라이딩 해야한다. public class test implements Payable{ @Override public double calcSalary() { // TODO Auto-generated method stub return 0; } @Overr..

class Object

[ class Object ] 클래스 Object 는 Java에서 모든 클래스의 superclass 이다. Java 의 모든 클래스는 내가 만들어 주지 않아도 이미 equals 와 toString 메서드를 가지고 있다. 클래스 Object의 멤버 메서드 Method Behavior boolean equals(Object obj) Compares this object to its argument. int hashCode() Returns an integer hash code value for this object String toString() Returns a string that textually represents the objct Class getClass Returns a unique object..

자료구조와 알고리즘

1. 자료구조 컴퓨터에 자료를 효율적으로 저장하는 방식 1-2. 자료구조의 필요성과 목적 - 프로그램에서 사용하는 메모리를 절약하기 위해 - 프로그램 실행시간을 단축하기 위해 - 프로그램의 구현을 쉽게 하기 위해 1-3. 자료구조에는 선형 구조와 비선형 구조가 있다. 선형구조 : 여러 개의 자료를 한 줄로 순서대로 저장하는 구조(리스트, 스택, 큐 등) 단순하면서 직관적이어서 여러 프로그램에서 자료를 차례대로 저장하는 목적으로 사용한다. 비선형구조 : 각각의 자료들 사이의 앞뒤 관계가 일대일이 아니다.(트리, 그래프 등) 2. 알고리즘 - 어떤 문제를 해결하기 위한 효율적인 절차 - 효율적인 알고리즘이 만들어지려면 당연히 효율적인 자료구조가 먼저 선택되어야 한다. (자료구조는 모든 개발의 기본) - 반대..

자료구조 2020.01.15

JAVA Configuration

1. web.xml , servlet-context.xml, root-context.xml 파일 삭제 2. pom.xml 수정 2-1 스프링 버전 및 자바 버전(1.8) 변경 1 2 3 4 5 6 1.8 5.0.7.RELEASE 1.6.10 1.6.6 Colored by Color Scripter cs 2-2 컴파일 관련 버전 1.8로 변경 1 2 3 4 5 6 7 8 9 10 11 12 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.8 1.8 -Xlint:all true true Colored by Color Scripter cs 2-3 프로젝트 우클릭 -> Maven -> Update Project 3. @Configuration 3-1 src/ma..

SPRING 2019.11.19