Java

Comparable 과 ComparatorComparable 과 Comparator 는 모두 객체를 비교하기 위한 인터페이스Comparable 에는 compareTo(T o)(자기 자신과 매개변수 객체를 비교)Comparator 에는 compare(T o1, T o2)(두 매개변수 객체를 비교) 메소드가 선언되어 있다두 인터페이스 모두 제네릭 타입에 대해서만 사용이 가능하다.자바에서의 비교는 기본적으로 오름차순이다즉 두 원소의 비교결과가 음수일 경우 교환을 진행하지 않는다.오름차순일 경우 선행원소 - 후행원소내림차순일 경우 후행원소 - 선행원소Comparable예시public class People implements Comparable{ // 매개변수들 int age; public Pe..
더보기 객체의 상태 변화를 관찰하는 옵저버 들의 목록을 객체에 등록 상태 변화가 있을 때마다 메서드를 통해 객체가 직접 각 옵저버에게 통지하도록 한다 - 주로 분산 이벤트 핸들링 시스템을 구현하는데 사용 객체의 상태가 변할 때 연관된 객체들에게 알림을 보내는 패턴 장점 실시간으로 한 객체의 변경사항을 다른 객체에 전파할 수 있다. 느슨한 결합으로 시스템이 유연하고 객체간의 의존성 제거 가능 public class Observer { public String msg; public void receive(String msg){ System.out.println(this.msg + "에서 메시지를 받음 : " + msg); } } public class User1 extends Observer{ public ..
- 생성패턴의 한 종류로 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공 아래의 두 가지 종류의 클래스로 나눈다. 복잡한 객체를 생성하는 방법을 정의하는 클래스 표현하는 방법을 정의하는 클래스로 분리 장점 인스턴스를 생성할 때 인자를 선택적으로 가독성 좋게 넘길 수 있다. 인자의 순서에 상관이 없고, 불필요한 생성자를 만들지 않는다. public class Computer { private int serialNumber; private String model; private String vender; private String cpu; private int ram; private int disk; private String graphicCard; private Computer(int ser..
부분과 전체의 계층을 표현하기 위한 객체들을 모아서 트리 구조로 구성하는 패턴 사용자에게 개별객체와복합 객체를 모두 동일하게 다룰 수 있도록 함 예제 : [Design Pattern] 컴퍼지트 패턴이란 - Heee's Development Blog (gmlwjd9405.github.io) all4land_junior/Week01/src/designPattern/composite at main · keartt/all4land_junior (github.com)
객체를 생성하는데 비용? 시간이 많이 들고, 비슷한 객체가 이미 있는 경우 사용되는 패턴 원본 객체를 새로운 객체에 복사하여 필요에 따라 수정함 clone 메소드를 사용함 생성 패턴 clone 메소드를 사용 -> 생성하고자 하는 객체에 clone 에 대한 Override 필요 반드시 생성하고자 하는 객체의 클래스에 clone 메소드가 정의되어 있어야 함 [디자인패턴] 프로토타입패턴(Prototype Pattern) (velog.io) package designPattern.prototype; import java.util.ArrayList; import java.util.List; public class Employees implements Cloneable { private List empList; p..
BufferedReader와 BufferedWriterBufferedReader와 BufferedWriter는 입출력 속도를 개선하고, 버퍼링을 통해 많은 데이터를 효율적으로 처리할 수 있음매번 입출력 스트림으로부터 데이터를 읽고 쓰는 것보다 버퍼링을 통해 오버헤드를 줄일 수 있음대용량 데이터 처리를 빠르게 처리 가능BufferedReader (Scanner 대체)선언 및 사용BufferedReader br = new BufferedReader(new InputStreamReader(System.in));br.readLine();한줄에 하나씩 String 값을 반환한다.StringTokenizer원하는 구분자로 문자열을 구분해줌, 지정하지 않을경우 공백으로 구분StringTokenizer st = new..
keartt
'Java' 카테고리의 글 목록