분류 전체보기

익명 구현 객체 생성 인터페이스 타입으로 필드나 변수를 선언하고, 구현 객체를 초기값으로 대입하는 경우를 생각해보자. 구현 클래스를 선언하고, new 연산자를 이용해서 구현 객체를 생성한 후, 필드나 로컬 변수에 대입하는 것이 기본이다. class TV implements RemoteControl { } class A{ RemoteControl field = new TV(); void method(){ RemoteControl localVar = new TV(); } }그러나 구현 클래스가 재사용되지 않고, 오로지 해당 필드와 변수의 초기값으로만 사용하는 경우라면 익명 구현 객체를 초기값으로 대입하는 것이 좋다. 인터페이스 [필드|변수] = new 인터페이스("매개값", "..."){ // 인터페이스에 ..
익명(anonymous) 객체는 이름이 없는 객체를 말한다. 익명 자식 객체 생성 기본적으로 사용하는 방식 class Child extends Parent { } class A{ Parent filed = new Child(); // 필드에 자식 객체를 대입 void method(){ Parent localVar = new Child(); // 로컬 변수에 자식 객체를 대입 } }자식 클래스가 재사용되지 않고, 오로지 해당 필드와 변수의 초기값으로만 사용할 경우라면 익명 자식 객체를 생성해서 초기값으로 대입하는 것이 좋은 방법이다. 부모클래스 [필드|변수] = new 부모클래스("매개값", "..."){ // 필드 // 메소드 };Person.java package anonymous; public cla..
클래스 멤버와 로컬 변수 사용 람다식 실행블록에는 클래스 멤버와 로컬 변수를 사용할 수 있다. 클래스의 멤버 사용 일반적으로 익명객체에 사용되는 this는 익명객체의 참조이지만, 람다식에서 this는 내부적으로 생성되는 익명 객체의 참조가 아니라 람다식을 실행한 객체의 참조이다. this 사용 예제 public class UsingThis { public int outterValue = 10; class Inner{ int innerValue = 20; void method(){ MyFunctionalInterface fi = () -> { int innerValue = 40; System.out.println("outterValue : " + outterValue); System.out.println(..
데이터 표준을 위해 nsm 파일을 관리하는 경우가 있는데, ERWin에서 nsm파일을 로드하는 방법을 적어놔야겠다. 준비물 1. ERWin 2. nsm 파일 과정 1. ERWin을 열고 Tools > Names > Model Naming Options 클릭 2. Model Naming Options 팝업에서 파일 위치를 지정해줌 3. 끝
일이 바빠지면 공부할 시간도 부족해진다. 일이 덜 바쁠때 부지런히 공부를 해놓자. ERD작업을 하는데 좋은 툴인거 같다.. DB 관리의 필요성을 느꼈다. 표준을 이제 잡으려니 힘들다..
실선 : 식별관계 - 부모테이블 PK가 자식테이블의 FK/PK가 되는 경우 점선 : 비식별관계 - 부모테이블 PK가 자식테이블의 일반속성이 되는 경우 식별관계 는 부모가 있어야 자식이 생기는 경우를 뜻함.
자바의 static 메소드는 인스턴스생성 없이 사용할 수 있습니다. java.lang.Math 클래스의 abs() 메소드 사용시 int i = Math.abs(-5); JDK 1.5 부터는 이러한 static 메소드를 더욱 쉽게 사용할 수 있게 static import를 지원합니다. import static java.lang.Math.abs; int i abs(-5); 정적 메소드를 import static 하여 import를 하게되면 클래스명 없이 바로 static 메소드를 사용할 수 있습니다. 만약 동일한 이름의 메소드가 클래스내에 존재한다면 자신의 클래스 메소드가 우선시 됩니다. import static 에 * 사용한 권자외지 않으며, 정적 멤버 변수도 static import의 대상이 됩니다. i..
[람다식] 타겟 타입과 함수적 인터페이스 람다식의 형태는 매개변수를 가진 코드블록이어서 메소드를 선언하는 것처럼 보이지만 실제로는 이 메소드를 가지고 있는 객체를 생성해 낸다. (자바는 메소드를 단독으로 선언할 수 없기 때문) 인터페이스 변수 = 람다식;람다식은 인터페이스의 익명 구현 객체를 생성한다고 보면 된다. (클래스를 생성하고 객체화 함) 인터페이스의 종류에 따라 작성 방법이 달라지기 때문에 람다식이 대입될 인터페이스를 람다식의 타겟 타입(target type)이라고 한다. 함수적 인터페이스(@FunctionallInterface) 람다식이 하나의 메소드를 정의하기 때문에 두 개 이상의 추상 메소드가 선언된 인터페이스는 람다식을 이용해 객체를 생성할 수 없다. 하나의 추상 메소드가 선언된 인터페이..
pom.xml 설정 org.slf4j slf4j-api ${version.slf4j} ch.qos.logback logback-classic 1.1.7 로그 레벨 ERROR, WARN , INFO, DEBUG, TRACE logback 설정파일 일반적으로 logback.xml으로 만들며 src/main/resources/ 아래에 위치시킨다. 기본 구조 Appender 설정 Logger 설정 logback.xml %d{HH:mm:ss.SSS} [%thread] %-5level %logger{32} - %msg%n LogTest.java public class LogTest { private static final Logger LOG = LoggerFactory.getLogger(LogTest.class);..
logback Log4j는 java 에서 가장 많이 사용하는 logger 라고 할 수 있다. Log4j를 만든 사람이 좀더 개선한 것이 바로 "SLF4J" 와 "LOGBack" 프로젝트이다. "SLF4J"는 로깅 구현체라기보다 Loggin Facade 이다. (Facade 패턴 참고) Log4j는 java 에서 가장 많이 사용하는 logger 라고 할 수 있다. Log4j를 만든 사람이 좀더 개선한 것이 바로 "SLF4J" 와 "LOGBack" 프로젝트이다. "SLF4J"는 로깅 구현체라기보다 Loggin Facade 이다. (Facade 패턴 참고) 특징 및 장점 LogBack은 3가지 컴포넌트로 구성되어 있음 logback-core : 핵심 코어 컴포넌트 logback-classic : "slf4j"..
깡냉쓰
'분류 전체보기' 카테고리의 글 목록 (39 Page)