devnoong.log
[JAVA] 상속 클래스 (super 키워드 관련)
JAVA 2023. 4. 6. 15:13

상속 클래스 관련해서 간단하게 정리하고자 포스팅을 남깁니다. 자바에서는 extends를 통해 클래스를 상속받을 수 있다. 자바에서 클래스를 상속받을때, 하위 클래스는 상위클래스의 모든 멤버(필드,메서드 등)을 상속받는다. 하지만 부모 클래스의 생성자는 상속되지 않고 있으므로 부모클래스의 생성자를 하위 클래스에서 super 키워드를 통해 명시적 호출 후 초기화를 진행해줘야 한다. 부모클래스에 기본생성자가 존재할 경우에 super 키워드를 사용하지 않아도 자동으로 적용된다. Q. 부모 클래스에 생성자가 없을 경우 ? 부모클래스에 생성자가 존재하지 않을 경우에 컴파일러가 자동으로 기본 생성자 (매개변수가 없는 생성자) 를 생성해 런타임 오류가 발생하지 않도록 조치를 해준다. 대신 컴파일러가 무조건 기본 생성자..

[DB] MYSQL 테이블이 사용된 스키마 (데이터베이스) 조회하기
DB/MySql 2023. 4. 6. 11:14

여러스키마를 종합적으로 사용중일 때 , 테이블명이 사용된 스키마를 조회해야하는 경우가 존재한다. SELECT table_schema FROM information_schema.tables WHERE table_name = '테이블명'; 위의 쿼리로 스키마를 확인 할 수 있다.

[DB] MySql Sequence 생성 및 사용 방법 정리하기
DB/MySql 2023. 4. 6. 10:35

Oracle 에서는 seq를 생성 하고 seq명.NEXTVAL 로 설정해주면 자동으로 seq가 채번이 된다 하지만 MySql에서는 seq 개념 자체가 존재하지 않기때문에 Oracle에서 제공해주는 기능처럼 사용자가 프로시저를 만들어 사용해야 되는 차이점이 존재한다. 1. SEQ 테이블 생성하기 SEQ 의 값이 저장되고 변경될 때 사용하는 테이블을 생성해준다. 보통 SEQ 스키마를 따로 생성하여 SEQ.테이블명으로 구분해놓는다. CREATE TABLE "seqTable" ( "seq_nm" varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_bin NOT NULL, "bgin_val" bigint unsigned DEFAULT NULL, "max_val" b..

article thumbnail
[JAVA] LocalDate Private 생성자 선언 이유
JAVA 2023. 3. 6. 17:51

JAVA 8 Date API 에서 출시된 LocalDate는 이전에 사용되었던 Calendar 클래스 대체 용도로 많이 사용되고 있습니다. LocalDate는 인스턴스 객체를 생성해주는 new 연산자를 사용하지 않고, of(), now(),parse() 와 같은 Public 정적 패토리 메소드를 이용해 선언되고 있습니다. new연산자를 사용 할 수 없는 이유는 생성자가 아래와 같이 Public이 아닌 Private로 구성되어있기때문입니다. 여기서 하나의 궁금증이 생기지 않나요? 왜 Public으로 생성자를 만들지 않고 Private으로 선언 해 놓았을까???? 이유는 아래와 같습니다. 첫번째, 불필요한 객체 생성을 제한하기 위해서 설정해놓는다. localDate에서 제공하는 함수들중 일부분은 정적메소드(..