본문 바로가기

전체 글107

Object클래스 내장메서드 1. getClass() 리턴-> class [패키지명].클래스명 2. getName() 리턴-> [패키지명].클래스명 - Object클래스 자체 인스턴스의 패키지는 java.lang이다. 3. hashCode() - 객체의 주소값을 정수로 변환한 값을 출력한다. 4. 기준값.equals(비교값) - 기준값과 파라미터로 전달된 비교값의 주소를 비교하여 true / false를 리턴한다. - equals()메서드는 주소값을 비교하므로, 두 객체에 저장된 데이터를 비교할때에는 적합하지않다. Person p1 = new Person("홍길동",20); Person p2 = new Person("홍길동",20); p1.equals(p2) // false - 따라서 equals()메서드를 오버라이딩하여 두객체의 .. 2021. 10. 9.
Wrapper 클래스 1. 개념 - 기본 데이터타입 변수로 할 수 있는 일이 한정적이므로, 이에대한 클래스를 정의하여 클래스 내에 상수 및 다양한 메서드를 제공함으로써 기본 데이터타입에 대한 다양한 정보를 저장하거나, 다양한 작업을 수행할 수 있도록 지원한다. - 기본타입명이되, 맨 앞글자는 대문자이다. 2. Boxing / Unboxing - 기본타입데이터는 Stack공간에 실제 데이터를 직접저장하고 관리하지만, - 참조데이터타입의 객체는 Heap공간에 실제 데이터가 저장되며, 참조변수는 해당 공간의 주소값을 저장하고 관리한다. Boxing Unboxing 기본타입의 값을 Wrapper객체로 만드는 과정 Wrapper객체에서 기본타입의 값을 얻어내는 과정 Auto Boxing Auto Unboxing 기본타입 -> Wrap.. 2021. 10. 9.
VIEW / SEQUENCE DB || DAY15 || VIEW, SEQUENCE # VIEW 1. VIEW란? 하나 이상의 베이스테이블을 기반으로 생성되었지만, 물리적으로 존재하지는 않고 단지 데이터딕셔너리에 select 구문의 형태로 정의만 되어있는 가상의 테이블이다. 2. VIEW 사용방법 CREATE VIEW 뷰명 AS SELECT 베이스테이블정보 FROM 베이스테이블명 3. VIEW 정의방법 - CREATE OR REPLACE VIEW - DROP VIEW - ALTER 구문은 없다. # SEQUENCE - 자동으로 고유한 번호를 반환해주는 번호생성기와 같은 오브젝트이다. - 특히 PRIMARY KEY, UNIQUE 제약조건의 경우에 유용하게 사용된다. 1. 시퀀스 생성 CREATE SEQUENCE *** 콤마 안찍는다! .. 2021. 10. 6.
오버라이딩 / 오버로딩 / 생성자와 super I. 오버라이딩 # 개념 상속받은 기존의 메서드재정의 # 메서드 오버라이딩 작성규칙 1. 슈퍼클래스 메서드 시그니처가 완전히 동일해야한다. 2. 슈퍼클래스 메서드의 접근제한자보다 범위가 좁아지는 것 가능! II. 오버로딩 # 개념 - 메서드 다중정의 - 기존의 메서드의 메서드명은 그대로둔 채 다른 형식으로 여러개 정의하는 것. - 오버로딩은 상속과 관계가 없다. III. 생성자와 super() - 서브클래스의 생성자는 슈퍼클래스의 기본생정자를 자동으로 호출한다. - 이때 슈퍼클래스의 생성자가 파라미터 생성자만 존재한다면, 서브클래스의 생성자가 슈퍼클래스의 기본생성자를 호출하면서 오류가 발생하게된다. - 해결책 1. 슈퍼클래스에 기본 생성자를 정의한다. 2. 서브클래스에서 슈퍼클래스의 파라미터 생성자를 호.. 2021. 10. 2.
Import / 접근제한자 / 상속 / 생성자 I. Import # Import 개념 import 상위패키지명.하위패키지명.클래스명 ; import 상위패키지명.하위패키지명.*; # 단축키 ctrl + shift + O II. 접근제한자 # 접근제한자의 종류 1. public -> 모든 클래스에서 접근이 가능함 2. protected -> 상속관계일 때 접근이 가능함. 3. default -> 같은 패키지안에 속한 클래스에 접근이 가능함/ 접근제한자를 명시하지 않은경우에 적용된다. 4. private -> 해당 클래스에서만 접근이 가능함. # 제한의 정도 private < default < protected < public III. 상속 # 개념 - 부모클래스가 가진 멤버변수를 서브클래스에서 물려받아 별도의 선언없이 사용할 수 있도록한다. - Is .. 2021. 10. 2.
데이터 삭제 조작어 DB || DAY14 || 테이블 삭제 관련 조작어 DROP & RECYCLEBIN, TRUNCATE, DELETE 1. RECYCLEBIN -> DROP TABLE 실행 되돌리기 # 휴지통조회하기 show recyclebin # 휴지통에 들어간 테이블 되살리기 FLASHBACK TABLE 테이블명 TO BEFORE DROP; #휴지통을 거치지 않고 테이블을 삭제하기 DROP TABLE 테이블명 PURGE; -> FLASHBACK으로 되돌릴 수 없다. 보안상 중요한 데이터를 삭제하는경우에 활용한다. 2. TRUNCATE TABLE 테이블의 구조는 남겨두고, 데이터만 삭제한다 # DELETE 와 TRUNCATE 조작어 비교 DELETE TRUNCATE 개념 특정 행만 삭제 모든 행을 삭제 문법 SQL> D.. 2021. 9. 29.
입력값을 DB에 저장하기 # jsp로 생성한 HTML페이지에서 입력받은 값을 DB에 저장하기. 1. 한글입력값을 받는 경우에 대비하여 utf-8로 설정 request.setCharacterEncoding("utf-8"); 2. 입력받은 값을 변수에 저장하기. - getParameter() 메서드로 불러오는 값은 모두 '문자열' 데이터타입이므로, 숫자데이터는 별도로 정수형으로 형변환을 해야한다. int num = Integer.parseInt(request.getParameter("num")); - String 타입데이터는 별도의 처리가 필요없다. String name = request.getParameter("name"); 3. HTML에서 제출한 내용을 DB에 저장하기 1) DB에 연결하기 위한 드라이버를 불러온다 Class... 2021. 9. 29.
ALTER TABLE DB || DAY13 || ALTER TABLE # 테이블 1. 테이블명 변경 RENAME 기존테이블명 TO 수정한테이블명 # 컬럼 1. 컬럼 추가 ALTER TABLE 테이블명 ADD 2. 컬럼 수정 ALTER TABLE 테이블명 MODIFY 3. 컬럼 삭제 ALTER TABLE 테이블명 DROP (삭제할 컬럼명) ; 또는 ALTER TABLE 테이블명 DROP COLUMN 삭제할 컬럼명; 4. 컬럼명 변경 ALTER TABLE 테이블명 RENAME COLUMN 기존컬럼명 TO 바꿀컬럼명 # 제약조건 1. 제약조건 추가 *** 테이블을 복사해오는경우, 제약조건은 제대로 복사가 되지않고 NOT NULL조건만 복사가된다. 때문에 제약조건을 추가하는 과정이 필요하다. - 컬럼레벨 ALTER TABLE 테이블.. 2021. 9. 28.
추상클래스와 인터페이스 I. 추상 -> 구현을 강제하기 위해 사용한다. 1) 추상클래스 # 기본문법 abstract class 클래스명{ . . . } 2) 추상메서드 [접근제한자] [abstract] [리턴타입] 메서드명(매개변수) ; public abstract void absMethod(int para) ; *** 중괄호 { } 쓰지않음 II. 인터페이스 # 인터페이스의 필요성 구현하도록 강제함으로써 코드를 표준화할 수 있다. 상속 관계가 없는 클래스끼리 관계부여가 가능해서 다형성을 확장시키기 좋다. 모듈 간 독립적 프로그래밍으로 개발시간을 단축시킬 수 있다. 모듈교체가 쉽다. - 인터페이스를 통해 업캐스팅을 사용하여 다형성을 적용시키면, 단순한 모듈(객체) 교체만드로 동일한 코드를 사용하여 여러 객체를 다룰 수 있게된다.. 2021. 9. 28.