전체 글
-
Java Study[2022-09-16] - 객체지향프로그래밍(List 인터페이스)백엔드 2022. 9. 16. 23:14
🔸 2022-09-16 금요일 [객체지향프로그래밍] 1. List 인터페이스 하나의 자료를 위한 인터페이스 Collection 하위 인터페이스 객체를 순서에 따라 저장하고, 관리하는데 필요한 메서드가 선언된 인터페이스 배열의 기능을 구현하기 위한 메서드가 선언됨 ArrayList, Vector, LinkedList ArrayList와 Vector 객체 배열 클래스 Vector는 자바 2부터 제공된 클래스 일반적으로 ArrayList를 더 많이 사용 Vector는 멀티 쓰레드 프로그램에서 동기화를 지원 동기화(Synchronization) : 두 개의 쓰레드가 동시에 하나의 리소스에 접근할 때 순서를 맞추어서 데이터의 오류가 방지하지 않도록 함 capacity(배열의 용량)와 size(배열 안의 요소 개수..
-
Java Study[2022-09-15] - 객체지향프로그래밍(컬렉션 프레임워크)백엔드 2022. 9. 15. 22:52
🔸 2022-09-15 목요일 [객체지향프로그래밍] 1. 컬렉션 프레임워크 프로그램 구현에 필요한 자료구조와 알고리즘을 구현해 놓은 라이브러리 java.util 패키지에 구현되어 있음 개발에 소요되는 시간을 절약하고 최적화 된 라이브러리를 사용할 수 있음 Collection 인터페이스와 Map 인터페이스로 구성됨 Collection 인터페이스 하나의 객체의 관리를 위해 선언된 인터페이스로 필요한 기본 메서드가 선언되어 있음 하위에 List, Set 인터페이스가 있음 분류 설명 List 인터페이스 순서가 있는 자료관리, 중복 허용. 해당 인터페이스를 구현한 클래스는 ArrayList, Vectior, LinkedList, Stack, Queue 등이 있음 Set 인터페이스 순서가 정해져 있지 않음, 중복을..
-
Java Study[2022-09-14] - 객체지향프로그래밍(제네릭 프로그래밍)백엔드 2022. 9. 14. 22:59
🔸 2022-09-14 수요일 [객체지향프로그래밍] 1. 제네릭 프로그래밍 변수의 선언이나 메서드의 매개 변수를 하나의 참조 자료형이 아닌여러 자료형을 반환될 수 있도록 프로그래밍 하는 방식 실제 사용되는 참조 자료형으로서의 변환은 컴파일러가 검증하므로 안정적인 프로그래밍 방식 자료형 매개 변수 T 여러 참조 자료형으로 대체될 수 있는 부분을 하나의 문자로 표현 type의 의미로 T 사용 public class GenericPrinter { // GenericPrinter => 제네릭 클래스 private T material; // T => type의 약자. 자료형 매개 변수 public void setMaterial(T material) { this.material = material; } public..
-
Java Study[2022-09-13] - 객체지향프로그래밍(String, Wrapper 클래스)백엔드 2022. 9. 13. 22:13
🔸 2022-09-13 화요일 [객체지향프로그래밍] 1. String, Wrapper 클래스 String 클래스 선언하기 1번, String str1 = new String("abc"); => 인스턴스로 생성됨 2번, String str2 = "abc"; => 상수풀에 있는 문자열을 가리킴 1번의 new 키워드를 사용한다는 것은 힙 메모리에 Allocation을 받겠다는 의미 2번은 상수풀에 문자열이 있다면, new 사용하지 않고, 바로 사용 가능(상수풀 공유) // 1번 Test String str1=new String("abc"); String str2=new String("abc"); System.out.println(str1==str2); // 2번 Test String str3 = "abc"; ..
-
Java Study[2022-09-12] - 객체지향프로그래밍(Object 응용 문제 풀이)백엔드 2022. 9. 12. 23:16
🔸 2022-09-12 월요일 [객체지향프로그래밍] 1. Object 클래스 응용 날짜를 구현한 클래스 MyDate 날짜가 같으면 equals() 메서드의 결과가 true가 되도록 구현하기 hashCode() 메서드도 구현 MyDate 클래스 package object; public class MyDate { int day; int month; int year; public MyDate(int day, int month, int year) { this.day = day; this.month = month; this.year = year; } MyDateTest 클래스 package object; public class MyDateTest { public static void main(String[] ar..
-
Java Study[2022-09-07] - 객체지향프로그래밍(reflection programming, forName(), 동적 로딩)백엔드 2022. 9. 9. 01:13
🔸 2022-09-07 수요일 [객체지향프로그래밍] 1. Object 클래스 reflection 프로그래밍 Class 클래스로부터 객체의 정보를 가져와 프로그래밍하는 방식 => 로컬에 데이터 타입이 있다면, 굳이 이렇게 사용하지는 않음, 로컬에 객체가 없거나 자료형을 알 수 없는 자료형이 있을 경우 위 방식 사용 로컬에 객체가 없고, 자료형을 알 수 없는 경우 유용한 프로그래밍 java.lang.reflect 패키지에 있는 클래스 활용 newInstance() 메서드 Class 클래스 메서드 new 키워드를 사용하지 않고 인스턴스를 생성 Class c3 = Class.forName("java.lang.String"); => 클래스 정보를 가져옴 Constructor로 어떤 것을 가지고 있는지 확인 Con..
-
Java Study[2022-09-06] - 객체지향프로그래밍(finalize(), Class 클래스, 동적로딩)백엔드 2022. 9. 7. 23:23
🔸 2022-09-06 화요일 [객체지향프로그래밍] 1. Object 클래스 finalize 메서드 clone(), equals(), hashcode(), toString()처럼 호출하는 메서드가 아님 이 객체가 Heap 메모리에서 해제될 때, 가비지 콜렉터에서 호출되는 메서드 리소스 해제, 안 닫혀있는 소켓 닫기 역할 예외처리 많이 들어감 정리 : 직접 호출되는 메서드가 아니라 인스턴스가 힙 메모리에서 해제될 때, 가비지 콜렉터에서 수행되는 메서드 2. Class 클래스 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일로 생성됨 class 파일에는 객체의 정보(멤버 변수, 메서드, 생성자 등)가 포함되어 있음 Class 클래스는 컴파일 된 class 파일에서 객체의 정보를 가져올 수 있음 실..
-
Java Study[2022-09-05] - 스프링부트 프로젝트(JPA, Entity, model)백엔드 2022. 9. 6. 23:26
🔸 2022-09-05 월요일 [스프링 부트 프로젝트] 1. JPA를 통한 CRUD create() 메서드 작성 @Test public void create(){ User user=new User(); user.setAccount("TestUser01"); user.setEmail("TestUser01@gmail.com"); user.setPhoneNumber("010-1111-1111"); user.setCreatedAt(LocalDateTime.now()); user.setCreatedBy("admin"); User newUser=userRepository.save(user); System.out.println("newUser : "+newUser); } 결과 : newUser : User(id=1,..