본문 바로가기

프로그래밍

(92)
[DataBase]일반 함수 일반 함수 종류 NVL (expr1, expr2) expr1이 null인 경우 expr2를 반환하여 출력하는 함수. expr1과 expr2의 데이터 유형이 일치하여야 한다. (날짜면 날짜, 문자면 문자로 동일하게 사용하여야 한다.) NVL2 (expr1, expr2, expr3) : expr1이 널이면 expr2를 반환하고, expr1이 널이 아니면 expr3을 반환하도록 하는 함수. NULLIF (expr1, expr2) : expr1과 expr2가 같으면 null을, 같지 않으면 expr1을 반환하는 함수. COALESCE (expr1, expr2, ..., exprn) : expr1이 널이 아니면 expr1을 반환, expr1이 널이고 expr2가 널이 아니면 expr2를 반환... 식으로 expr..
[JSP]영역객체와 속성 영역객체란 JSP에서 제공하는 내장객체 중 영역과 관련된 속성을 가질 수 있는 객체들이다. 속성 (Attribute) : 공유되는 데이터 영역 (Scope) : 속성을 공유할수있는 유효범위. JSP 영역(Scope)의 종류 - page 영역 : 다른 내장객체 호출, 페이지 흐름제어, 에러데이터 추출 등 jsp 페이지 정보를 저장하는 객체이다. - request 영역 : 페이지 요청시 정보를 저장하는 객체이다. 페이지 이동 시 정보를 가지고 이동한다 - session 영역 : 하나의 웹 브라우저당 하나씩 생성되며, 정보를 유지하는 객체이다. 세션이 종료되는 순간에 반환된다. - application 영역 : 서버 자체의 정보, 서버 이벤트 로그 등 웹 어플리케이션 (프로젝트)정보를 저장하는 객체이다. 프로..
[JSP]액션태그 액션태그란 액션태그란 JSP 페이지에서 페이지이동, 자바 빈 생성 페이지 include등 기능을 수행하기 위해 지시하는 태그이다. 웹에서 자바의 기능을 대신 하는 것으로 를 대체하여 사용할 수 있다. 액션태그 종류 : 자바 인스턴스를 준비한다. 보관소에서 자바 인스턴스를 꺼내거나 자바 인스턴스를 새로 만들어 보관소에 저장하는 코드를 생성한다. : 자바 빈의 프로퍼티 값을 설정한다. 자바 객체의 setter()를 호출하는 코드를 생성한다. : 자바 빈의 프로퍼티 값을 꺼낸다. 자바 객체의 getter()를 호출하는 코드를 생성한다. : 정적(HTML, 텍스트 파일 등) 또는 동적(서블릿/JSP) 자원을 including하는 자바 코드를 생성한다. : 현재 페이지의 실행을 멈추고 다른 정적, 동적 자원으로 ..
[Java]static static이란 자바를 하다보면 static이라는 키워드를 심심찮게 볼 수있다. 자바에서 static이 붙은 변수나 메소드를 정적 변수(메소드), 클래스 변수(메소드), 스태틱 변수(메소드) 등 여러 이름으로 부른다. 반대로 static이 붙지 않은 변수(메소드)는 객체 변수(메소드), 인스턴스 변수(메소드)라 한다. 그렇다면 staitc이 붙은 정적 멤버(변수, 메소드)을 사용하는 이유, 특징은 무엇인가. 정적 멤버는 기본적으로 공유한다는 데에 포커스를 두고 접근하면 되겠다. 쉽게 말해 정적 멤버로 만들어지면 누구나가 사용할 수 있으며 그 상태 또한 공유 되는것이다. 예를들어 같은 반 철수와 영희가 있다. 여기서 반에 있는 칠판은 정적 변수이고, 철수와 영희가 각자 가지고 있는 공책은 객체 변수라 할 ..
[Java]import import문 다른 패키지(폴더)에 속한 클래스를 사용하기 위해서는 클래스 이름 앞에 패키지의 경로까지 포함한 풀네임을 명시해서 사용해야 한다. 하지만 매번 패키지 명을 붙여서 작성하는 것은 귀찮고 비효율적인 일이다. 그래서 자바에서는 소스코드에 import문을 통해 미리 사용하고자 하는 클래스의 패키지를 명시해줌으로서, 코드를 작성할 때 클래스 이름에서 패키지 명을 생략할 수 있게 된다. import문의 선언 방법 import문은 package문 다음에, 그리고 클래스 선언 문 이전에 위치해야 한다. import 패키지이름.클래스이름; 해당 패키지의 특정 클래스만을 사용하고자 할때 사용한다. import 패키지이름.*; 해당 패키지의 모든 클래스를 클래스이름만으로 사용하고 싶을 때 사용한다. impor..
[Java]패키지 패키지란 자바에서 패키지란 클래스와 인터페이스의 집합을 의미한다. 서로 관련이 있는 클래스나 인터페이스를 함께 묶어 파일을 효율적으로 관리할 수 있게된다. 또한, 협업 시 서로 작업한 클래스 사이에서 발생할 수 있는 이름 충돌문제까지 패키지를 이용하면 피할 수 있게된다. 쉽게말해 패키지는 우리가 흔히 사용하는 폴더와 같은 개념이다. 패키지에 속한 클래스나 인터페이스 파일은 모두 해당 패키지 이름의 디렉토리에 포함되어 있다. 우리가 폴더에 또 다른 폴더를 만들 듯이 패키지에 또 다른 패키지를 포함 할 수 있다. 이때 디렉토리의 계층구조는 .(점) 으로 구분된다. ex) java.lang.String (= java패키지 안에 lang패키지 안에 String클래스가 있는 구조이다.) 패키지 선언 특정 clas..
[Java]this와 this() this란 우리가 생성자나 메소드를 생성할 때 매개변수를 받을 수 있다. 매개 변수를 받아 멤버 변수에 값을 저장하려고 할 때 종종 매개 변수와 멤버 변수의 이름이 일치하는 경우가 발생한다. 이때 매개 변수와 멤버 변수를 구분 하기 위해 멤버 변수의 앞에 this를 붙여 둘을 구분하게 된다. this 사용 예제 class Car{ private String modelName; private String color; private int modelYear; private int maxSpeed; private int currentSpped; Car(String modelName, int modelYear, String color, int max){ this.modelName = modelName; this..
[Java]메소드 오버로딩 메소드 오버로딩이란 한 클래스 내부에 같은 이름의 메소드가 있더라도 매개 변수의 타입이나 개수가 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다. 즉, 클래스 내에 같은 이름의 메소드를 여러개 선언 하는 것을 메소드 오버로딩이라 한다. 오버로딩 조건 1. 메소드의 이름이 같아야 한다. 2. 매개 변수의 개수 또는 타입이 달라야한다. 3. 매개 변수의 이름이 다르더라도 타입이 같으면 쓸 수 없다. 메소드 오버로딩을 사용하는 이유 우리는 메소드 오버로딩을 사용함으로서 하나의 메소드 명을 통해 다양한 기능을 활용 할 수 있는 이점을 가질 수 있다. 우리가 많이 사용하는 println() 이 메소드 오버로딩의 좋은 예시이다. 우리는 자바에서 출력을 하기 위해 println()이라는 메소드를 사용하는데 i..