목록인터페이스 (13)
개발 무지렁이

𐁍 프록시(Proxy) 다른 객체에 대한 인터페이스를 제공하는 객체 해당 객체의 대리자 역할을 수행 🍩 보안제어 : 프록시는 실제 객체에 대한 접근을 제어할 수 있다. 클라이언트는 프록시를 통해 접근하며, 프록시는 요청을 허용/거부한다. 🍩 로깅 및 감시 : 프록시를 사용하여 메서드 호출을 로깅하거나 감시 🍩 지연로딩(Lazy Loading) : 필요할 때만 데이터를 로드하는 작업 수행, 성능최적화 🍩 캐싱 : 프록시를 사용하여 이전에 수행한 작업의 결과를 캐시하고, 동일한 요청에 대해 캐시된 결과를 반환 🍩 원격프록시(Remote Proxy) : 원격 서버나 다른 머신에 있는 객체에 대한 접근을 지원하는 프록시 생성 🍩 Dynamic Proxy / Static Proxy : 런타임에 프록시 객체를 동적..

𐂂 '제네릭' 이란 결정되지 않은 타입을 파라미터로 처리하고, 객체를 생성할 시점에, 파라미터를 구체적인 타입으로 대체시키는 기능 𐁍 '제네릭 타입' 이란 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스를 말한다. (⚠️ 타입파라미터는 기본적으로 Object타입으로 간주된다.) public class Box { public T content; } Box box = new Box(); //사용할 때는 구체적인 타입으로 대체 𐁍 '제네릭 메서드' 란 타입파라미터를 가지고 있는 메서드를 말한다 public Box boxing(T t) { ... } 🤡 타입파라미터 제한 public Box boxing(T t) { ... } public Box boxing(T t) { ... } ⭐ 타입파라미터로 와..

라이브러리란? 활용할 수 있는 클래스와 인터페이스들을 모아놓은 집합을 말한다. 압축파일(~.jar, java archive) 형태로 존재한다. 바이트코드 파일(~.class)이 압축되어 있다. 라이브러리 생성 [File] -> [New] -> [Project] -> [Java Project] Project name 입력 Create module-info.java file 체크 해제 -> Finish 📂src -> pack1(package) -> A.java 생성 -> pack2(package) -> B.java 생성 package pack1 public class A { public void method() { System.out.println("A-method 실행"); } } // 각각 생성 pack..

주차 요금 계산 / 구현문제 🚀 🪅. 'Class'를 이용해서 많은 양의 정보를 '하나의 단위'로 정리할 수 있어야 한다. 🪅. 'Comparable 인터페이스'와 '오버라이딩 메서드 compareTo'를 이용하여 정렬기준을 설정할 수 있어야 한다. 🪅. 올림 시, 'Math.ceil()'을 이용할 때, 'double로 계산'한 뒤 int로 '명시적 형변환'해서 사용해야 오차가 없다. 🪅. 'Map'으로 정보를 연결할 때, 내장메서드 '.containsKey()'를 이용하여, 이미 연결된 정보인지 아닌지를 확인할 수 있다. 🪅. Map의 모든 key를 순회할 때, 내장메서드 &..

페이징(Paging) 처리 (1) 전체 레코드(record) 수 => 'count(*)' (2) 전체 페이지 수 => 'PAGE_COUNT', 올림수 (3) 한 페이지 당 뿌려질 레코드 수 (4) 한 블럭당 뿌려질 페이지 수 => 'BLOCK_COUNT' Pageable 인터페이스 데이터를 '페이지 단위'로 조회하는데 쓰이는 인터페이스 - 페이지 번호 (0부터 시작)* - 페이지 크기 (한 페이지에 포함될 레코드 수) - 정렬 기준 ⭐. Pageable 객체: 데이터 조회 요청에 대한 정보를 담고 있다. ⭐. Pageable 객체를 생성하는 정적 팩토리 method, Pageable.of (페이지번호, 페이지크기, 정렬정보를 인자로 받는다.) Pageable p..

Set 중복체크 먼저, hashCode()를 호출해서 리턴값이 다르면 다른 객체로 인식하고, hashCode() 리턴값이 같으면 equals()를 호출해서 true이면 같은 객체, false이면 다른 객체로 인식 [Member.java] public class Member { private String name; private int age; private String addr; public Member() {} public Member(String name, int age, String addr) { this.name = name; this.age = age; this.addr = addr; } public String getName() { return name; } @Override public in..