DAY 12 : 싱글톤 패턴, DB관련 인터페이스, DTO, DAO
2022. 10. 28. 00:54
국비/JAVA
- 싱글톤 패턴 디자인 패턴 중 하나로 매번 드라이버를 로드하지 않고 프로세스에서 객체를 단 하나만 만들어서 공유 자원을 생성하는 기법을 의미한다. ✔️ 디자인 패턴 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 발생했을 때 재사용할 수 있는 해결책을 다룬 알고리즘이다. -PreparedStatment 인터페이스 Statement와 PreparedStatement의 차이는 캐시 사용 유무이다. 객체를 캐시에 담아서 재사용한다. 반복적으로 쿼리를 수행한다면 statement에 비해 성능이 많이 좋다. statement는 보안상 취약점이 발견되었기 때문에 PreparedStatement를 사용하는 것을 권장한다. 단점으로는 코드가 길어질 수 있다. // Statement 사용시 Str..

DAY 11 : JDBC
2022. 10. 27. 20:55
국비/JAVA
- JDBC (Java Database Connectivity) 자바에서 DB 소프트웨어와 연결하여 프로그램을 개발하기 위해 사용하는 API이다. 자바 애플리케이션 JDBC API JDBC Driver MYSQL 이런 식으로 중간다리 역할을 해주어서 Java에서도 바로 SQL문을 작성해서 DB에 삽입, 수정, 조회 등을 가능하게 해 준다. - JDBC Driver 다운로드 https://dev.mysql.com/downloads/connector/j/ MySQL :: Download Connector/J MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL C..

DAY 10 : 스레드(Thead)
2022. 10. 21. 11:44
국비/JAVA
- 프로세스 (Process) 운영체제에서 실행 중인 하나의 애플리케이션을 의미. 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행한다. - 스레드 하나의 코드 실행 흐름이기 때문에 한 프로세스 내에 스레드가 2개라면 2개의 코드 실행 흐름이 생긴다는 의미이다. 하나의 프로세스 내부에서 독립적으로 실행되는 작업 단위이다. 운영체제에 의해 관리되는 하나의 작업 혹은 task를 의미한다. 다중 스레드 작업시에는 각 스레드끼리 정보를 주고받을 수 있어 처리 과정의 오류를 줄일 수 있다. ✔ 멀티 태스킹 (multi tasking) 두 가지 이상의 작업을 동시에 처리하는 것을 의미한다. 운영체제는 멀티 태스킹이 가능하도록 CPU와 메모리 자원을 프로세스마다 적절히 ..

DAY 09 - 2 : 파일 입출력
2022. 10. 13. 16:35
국비/JAVA
- File 클래스 파일 또는 디렉터리를 다루는 클래스이다. 입출력과 관련된 작업을 수행한다. - 만드는 법 File 참조변수 = new File(파일경로 또는 파일이름); - File 클래스 메소드 메소드 의미 반환값 exist() 파일이 실제 존재하는지 여부 boolean isDirectory() 해당 경로가 디렉토리인지 여부 boolean length() 파일 데이터 길이를 반환 (byte), 한글 : 3byte 영어/ 특수문자/ 공백 : 1byte long mkdir() 디렉토리를 생성한다. boolean createNewFile() 파일을 생성한다. boolean - FileInputStream 클래스 java.io의 가장 기본이 되는 입력 클래스 입력 스트림을 생성한다. - FIleInputS..

DAY 09 - 1: 중첩 클래스, 예외 처리
2022. 10. 12. 17:37
국비/JAVA
- 중첩 클래스의 종류 내부 클래스,. 로컬 클래스, 정적 중첩 클래스, 익명 클래스가 있다. - 내부 클래스 (Inner Class) 클래스 또는 메소드 안에 또 다른 클래스를 생성하는 것을 의미한다. 내부 클래스는 외부 클래스의 모든 멤버를 자신의 멤버처럼 사용할 수 있다. static 내부 클래스를 제외한 내부 클래스는 항상 외부 클래스 객체를 통해서 생성하게 된다. - 로컬 클래스 (Local Class) 메소드 안에서 정의된 클래스 (메소드 안에서만 사용이 가능하다.) 외부 클래스의 모든 멤버에 접근이 가능하다. (private도 접근 가능) - 정적 중첩 클래스 (Static Class) 내부 클래스가 static으로 정의된 경우를 의미한다. 외부 클래스에 관계없이 객체를 만들 수 있다. - ..

DAY 08 - 2 : 컬렉션 프레임워크 (Set, Map)
2022. 10. 12. 16:48
국비/JAVA
- Set 인터페이스 종류 HashSet, TreeSet - HashSet 데이터를 중복해서 저장할 수 없다. (중복은 자동으로 제거된다.) 저장 순서가 유지되지 않는다. 정렬을 하지 않는다. 하나의 null 값을 저장할 수 있다. HashSet 사용해보기! package day08; import java.util.HashSet; import java.util.Iterator; public class HashSet1 { public static void main(String[] args) { HashSet hashSet = new HashSet(); hashSet.add("김사과"); hashSet.add("오렌지"); hashSet.add("반하나"); hashSet.add("배애리"); hashSet..

DAY 08 - 1 : 제네릭, 컬렉션 프레임 워크 ( List)
2022. 10. 12. 00:27
국비/JAVA
- 제네릭(Generic) 클래스나 메소드에서 사용할 데이터의 타입을 컴파일 시에 미리 지정하는 방법이다. - 제네릭을 사용하는 이유 다양한 타입의 객체의 재사용을 높일 수 있다. 클래스에서 사용할 타입을 외부에서 설정할 수 있다. 반복적인 코드, 불필요한 코드를 사용하지 않도록 한다. 강제적인 형변환을 발생시키지 않는다. - 제네릭 타입 타입 의미 Type Element Key Value Number ✔️ Object 클래스 자바의 모든 클래스의 최상위 조상 클래스이다. 모든 타입은 Object 클래스로 객체화시킬 수 있다. 기본 데이터 타입을 객체화 시킨 래퍼 타입으로 대입받을 수 있다. 제네릭 사용해보기! package day08; public class Generic1 { private K key..

DAY 07 : Wrapper Class, static, 추상 클래스, 인터페이스, 패키지
2022. 10. 11. 18:07
국비/JAVA
- Wrapper Class (래퍼 클래스) 기본형(primitive type) 변수 데이터를 객체로 취급해야 할 경우 객체로 포장해주는 클래스이다. 자바는 객체지향 언어이지만 기본형이라는 예외를 둔 이유는 성능 때문이다. - 래퍼 클래스가 필요한 이유 기본형 변수는 Stack에 값을 저장하고, 참조형 변수는 Stack에 주소를 저장하기 때문이다. (서로 계산이나 비교가 힘들다.) 컬렉션 프레임워크(자료구조)는 참조형 변수만을 다루기 때문이다. 멀티쓰레딩에서 동기화를 지원하려면 참조형 변수가 필요하기 때문이다. - 래퍼클래스의 종류 기본형 래퍼 클래스 byte Byte short Short int Integer long Long char Character float Float double Double b..