【Java】9 Java of 정적 팩토리 메서드 private 생성자+ 정적메서드 패턴을 사용하는 이유 1.8에서는 항상 안되던 of 메서드of 입력 매개변수를 변환하지 않고 객체를 바로 생성하는 정적 메서드이다. private 생성자+ 정적메서드 패턴을 사용하는 이유 private 생성자: 외부 클래스에서의 무분별한 접근을 막기위해서 사용정적 메서드 패턴: 객체 생성을 통제된 방식으로 유도하기 위해서 사용 2025. 5. 15. [Stack] 메서드 정리 int[] stk; 스택용 배열capacity: 스택 용량ptr; 스택 포인터, 스택에 쌓여있는 데이터의 수push 메서드: 스택에 데이터를 넣는 메서드이고 스택이 가득차게 되면 OverflowIntStackException을 내보낸다.pop 메서드 : 스택의 맨위에 있는 데이터를 팝시키고 반환한다.팝? 없앤다= 제거한다.peek 메서드: 스택의 맨 위에 있는 데이터를 훑어보는 메서드 스택에서 데이터를 빼지 않아서 포인터를 변화시키지 않는 메서드임indexOf: 스택 본체의 배열에 c와 같은 값의 데이터가 있는지 한줄씩 선형검색하는 메서드이다.포함여부/ 위치 둘다 찾음getCapacity: 용량 확인 메서드이고 capacity값을 그대로 반환size 메서드: 스택에 쌓여있는 데이터 개수를 반환isEmp.. 2025. 5. 8. [Java] Map 의 getOrDefault() Map 의 getOrDefault()Collection API 함수의 일부로 찾는 key값이 있으면 찾는 키의 value를 반환하고 없는경우에는 null이나 default를 반환한다. public boolean canConstruct(String ransomNote, String magazine) {HashMap charMap = new HashMap(); for (char c : magazine.toCharArray()) { // getOrDefault: 키가 없으면 기본값(0)을 반환하고, 있으면 현재 값을 반환 charMap.put(c, charMap.getOrDefault(c, 0) + 1); //빈도수 계산에도 사용함 } retu.. 2025. 5. 8. [Java]파일 i/o •스트림: 자바에서 입출력을 수행할 때 사용하는 파이프라인•스트림의 종류: 입력 스트림 , 출력 스트림•데이터 타입에 따라 바이트 기반 스트림, 캐릭터 기반 스트림•fileinputStream:파일로부터 바이트 단위로 입력시킬 때 사용하는 바이트 기반 입력스트림•Fileoutpustream: 바이트 단위로 데이터를 파일에 저장할 때 사용하는 출력 스트림•FileReader: 텍스트 파일을 프로그램으로 입력시킬 때 사용하는 문자 기반 스트림•FileWriter: 텍스트 데이터를 파일에 저장할 때 사용하는 문자 기반 출력 스트림 참고:https://loco-motive.tistory.com/58 자바(JAVA) 파일 입출력(I/O)파일 입출력File java.io 패키지에서 제공하는 File 클래.. 2025. 3. 31. [Java] 추상클래스, 인터페이스 •추상클래스: 상속을 통해 하위 클래스에서 반드시 구현하도록 하는 클래스,다중 상속불가•인터페이스: 추상 메서드와 상수만 가지고 있으며 추상 메서드를 구현하는 클래스에서 반드시 구현하도록 강제함, 다중 상속 가능•차이점: 추상클래스는 상속을 받아서 기능을 이용하고 중복되는 클래스 멤버들을 통합하고 확장하는 것 명확한 계층 구조가 필요할 때 사용, 인터페이스는 함수의 구현을 강제하여 구현객체의 같은 동작을 한다는 것을 보장, 상속 관계에 구속되지 않고 구현만 하면 자유롭게 다형성 이용 할수 있음. 참고: https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4-vs-%EC%B6%94%EC%83%81%.. 2025. 3. 31. [Java] 디자인 패턴 1. 어댑터패턴 : 서로 다른 인터페이스를 가진 두 클래스가 함께 작동할수 있도록 중간에서 변환해주는 디자인 패턴이다. 기존에 개발된 클래스를 새로운 인터페이스에 맞게 재사용 할때 유용함 2. 프록시 패턴: 실제 객체를 대신하는 대리객체를 통해 실제 객체에 대한 접근을 제어하는 구조적 디자인 패턴이다 프록시는 실제 객체와 동일한 인터페이스를 구현, 클라이언트는 프록시를 통해 간접적으로 실제 객체와 상호 작용한다. ocp와 의존 역전 원칙이 적용된 패턴 언제 사용? 지연 초기화: 객체를 사용하기 전까지 초기화를 미루어서 리소스를 절약하고자할때 접근 권한 통제: 특정 클라이언트만 서비스 객체에 접근할수 있도록 권한을 관리할때 3. 데코레이터 패턴: 객체에 동적으로 새로운 책임, 기능을 추가할수 있는 디자.. 2025. 3. 31. 이전 1 2 다음