목록전체 글 (75)
Super Coding Addict
1. web.xml 파일, 스프링 관련 파일(root-context.xml, servlet-context.xml) 삭제 2. pom.xml 수정, 스프링 버전 번경 3. Java 설정 관련 패키지 생성 1. web.xml 파일과 WEB-INF 하위의 spring 디렉토리를 함께 삭제하여 root-context.xml 파일과 servlet-context.xml 파일을 함께 삭제해준다. 2. pom.xml 파일에서 태그를 찾아 내부에 위의 설정을 추가한다. 이는 웹프로젝트들이 web.xml을 사용하는 기본 설정이 되어있는 것을 해결하기 위함이다. 그 다음 사용하는 스프링버전과 자바버전에 맞게 코드를 수정해준다. 3. Java로 설정하기! src/main/java패키지 밑에 위와 같이 java configur..
* 템플릿 메서드 - 템플릿 메서드 : 추상메서드나 구현된 메서드를 활용하여 전체의 흐름(시나리오)를 정의해 놓은 메서드 : final로 선언하여 재정의할 수 없게 함 - 템플릿 메서드 패턴 : 디자인 패턴의 일종 : 프레임워크에서 많이 사용되는 설계 패턴 : 추상클래스로 선언된 상위클래스에서 추상메서드를 이용하여 전체 구현의 흐름을 정의하고, 구체적인 각 메서드의 구현은 하위클래스에 위임 : 하위클래스가 다른 구현을 하더라도, 템플릿 메서드에 정의된 시나리오대로 수행됨 * final 예약어 - final변수는 값이 변경될 수 없음 상수 public static final double PI = 3.14; //오직 한 번만 값을 할당할 수 있음 - final 메서드는 하위 클래스에서 재정의(overridi..
* 추상 클래스 - 추상 메서드를 포함한 클래스 - 추상 메서드는 구현 코드가 없이 선언부만 있는 메서드 - abstract 예약어 사용 - 추상 클래스는 new(인스턴스화) 할 수 없다 * 추상 클래스 구현 - 메서드와 클래스에 abstract 키워드를 사용 - 추상 클래스 상속 후 구현시 모든 추상메서드를 구현하지 않으면 여전히 추상클래스 - 모든 메서드를 구현하여도 클래스에 abstract 키워드를 사용하면 추상 클래스 (공통메서드를 가지는 기반이 되는 클래스라고 한다면 인스턴스화할 수 없지만 추상 클래스로 쓸 수 있음) * 추상 클래스 사용하기 - 추상 클래스는 주로 상속의 상위클래스로 사용됨 - 추상 메서드는 하위 클래스가 구현해야 하는 메서드 - 구현된 메서드는 하위 클..
* 제네릭 프로그래밍 - 변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌 여러 자료형으로 변환할 수 있도록 하는 프로그래밍 - 실제 사용되는 참조 자료형으로의 변환은 컴파일러가 검증하므로 안정적인 프로그래밍 방식 => 자료형 매개변수 * - T 대신에 사용될 자료형을 '제한'하기 위해 사용 * 제네릭 메서드 - 메서드의 매개 변수를 자료형 매개 변수로 사용하는 메서드 - 일반 클래스에서도 사용 가능 - 메서드 내의 자료형 매개변수는 지역변수처럼 메서드 내에서만 유효 - 예제 # GenericPrinter => 3D프린터, 재료는 Plastic이나 Powder package ch11.generic; public abstract class Material { public abstract voi..
* String 클래스 - String 클래스 선언하기 String str1 = new String("abc");// 인스턴스로 생성됨 (힙메모리에 할당) String str2 = "abc";// 상수풀(Constant Area)에 있는 문자열을 가리킴 - 예제 # StringTest 클래스 package ch10.string; public class StringTest { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1 == str2);//false String str3 = "abc"; String str4 = "abc..
# MyDateTest 클래스 package ch10.classEx; class MyDate{ int day; int month; int year; public MyDate(int day, int month, int year) { this.day = day; this.month = month; this.year = year; } @Override public int hashCode() { return day * 11 + month * 101 + year * 1001; } @Override public boolean equals(Object obj) { if(obj instanceof MyDate) { MyDate date = (MyDate)obj; return (this.month == date.mont..