변수 단 하나의 값을 저장할 수 있는 공간. 새로운 값을 다시 대입하면 기존값은 사라짐. - 선언 int age; - 초기화 변수를 사용전에 처음 값으로 저장하는 것. - 명명규칙 대소문자 구분되면 길이에 제한이 없다. 예약어를 사용을 하면 안된다. 숫자로 시작하면 안된다. 특수문자 '_' , '$" 사용을 허용한다. 변수 타입 - 기본형과 참조형 기본형 : 실제 data값을 저장 참조형 : 데이터의 주소값을 저장 ( 주소는 1byte 단위의 일련번호이다) 참조변수는 기본형이 아닌 모든 변수를 말한다. 클래스이름 변수이름; // 클래스타입 참조변수 선언 방식 기본형 기본형의 종류 논리형 boolean 문자형 char 정수형 int, short, long, byte 실수형 flat, double float..
현상 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. JDBC에 connection 하다 보면 위와 같은 오류가 뜨는데 이러한 문제를 찾기위해 여러 곳을 Search를 하다가 dependancy로 추가를 하면 된다는 글을 보고 다시 정리하게 되었음. 해결방법 https://mvnrepository.com/artifact/org.slf4j/slf4j-simple/1.6.1 위의 링크에..
스트림(Stream) 다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것 스트림이 제공하는 기능 - 중간 연산과 최종 연산 중간 연산 - 연산결과가 스트림이 연산. 반복적으로 적용가능 최종 연산 - 연산결과가 스트림이 아닌 연산. 단 한번만 적용가능 (스트림 요소를 소모) 스트림의 특징 스트림은 데이터 소스로부터 데이터를 읽기만할 뿐 변경하지 않는다. 스트림은 Iterator처럼 일회용이다. (필요하면 다시 스트림을 생성해야 함) 최종 연산 전까지 중간연산이 수행되지 않는다. - 지연된 연산 스트림은 작업을 내부 반복으로 처리한다. 스트림의 작업을 병렬로 처리 - 병렬스트림 기본형 스트림 - IntStream, LongStream, DoubleStream 오토박싱 & 언박싱의 비효율이 제거됨 (Str..
람다식(Lambda Expression) 함수(메서드)를 간단힌 식으로 표현한는 방법 익명함수(이름이 없는 함수) 함수와 메서드의 차이 근본적으로 동일. 함수는 일반적 용어, 메서드는 객체지향개념 용어 함수는 클래스에 독립적, 메서드는 클래스에 종속적 람다식 작성하기 메서드의 이름과 반환타입을 제거하고 '->' 를 블록 {} 앞에 추가한다. 반환값이 있는 경우, 식이나 값만 적고 return문 생략 가능(끝에 ' ; ' 안 붙임) 매개변수의 타입이 추론 가능하면 생략가능(부분의 경우 생략 가능) //일반 메소드 int max (int a, int b) { return a > b ? a : b ; //람다식 (함수) (a,b) -> a > b ? a : b 작성시 주의사항 매개변수가 하나인 경우, 괄호()..
모델과 3티어 모델을 담당하는 영역을 세분화 하여 데이터베이스를 담당하는 영역과 비즈니스 로직을 처리하는 영역으로 구분 서비스(로직 처리) 계층, 영속(데이터 처리) 계층으로 구분 계층 3티어 구조 DTO(Data Transfer Object) 대부분 한 개 이상의 데이터를 전달할 때가 많기 때문에 여러 개의 데이터를 묶어서 하나의 객체로 전달하는 것. 여러 개의 데이터를 묶어서 필요한 곳에 전달하거나 호출을 결과로 받는 방식을 사용 Java Beans형태로 구성(아래 3가지 구조를 가짐) 생성자가 없거나 반드시 파라미터가 없는 생성자 함수를 가지는 형태. 속성(멤버 변수)은 private으로 작성. getter / setter를 제공하는 것. 서비스 객체 DTO는 단순히 여러 개의 데이터를 묶어서 하나..
HttpServlet은 GET/POST 등에 맞게 doGet(), doPost()등을 제공 개발자들은 본인에게 필요한 메소드를 오버라이드하는 것만으로 GET/POST 방식 처리를 나누어서 처리 가능 HttpServlet을 상속받은 클래스 객체는 톰캣과 같은 WAS내부에서 자동으로 객체를 생성하기 때문에 개발자가 신경을 쓸 필요가 없다. 멀티 스레드에 의해서 동시에 실행될 수 있도록 처리되기 때문에 개발자는 동시에 많은 사용자를 어떻게 처리해야하는지 고민을 줄일 수 있음. GenericServlet의 경우 HTTP 프로토콜에 특화 되지 않는 요청에 대한 기능을 정의하고 있음. ServletRequest / ServletResponse라는 타입을 사용 HttpServletRequest의 주요기능 기능 메소드..