분류 전체보기(54)
-
JAVA 자바 디자인 패턴 : 팩토리 패턴, 장점 단점, 예시
JAVA 자바 디자인 패턴 : 팩토리 패턴 팩토리 패턴(Factory Pattern)은 객체 지향 프로그래밍에서 객체의 생성을 처리하는 디자인 패턴 중 하나입니다. 이 패턴은 객체 생성 과정의 복잡성을 감소시키고, 클라이언트 코드와 객체 생성 사이의 의존성을 줄이는 데 목적이 있습니다. 팩토리 패턴은 크게 두 종류로 나뉩니다: 팩토리 메서드 패턴(Factory Method Pattern)과 추상 팩토리 패턴(Abstract Factory Pattern). 팩토리 패턴 예시 예를 들어, 다양한 타입의 차량을 생성하는 간단한 팩토리 메서드 패턴을 구현해 보겠습니다. abstract class Vehicle { abstract void startEngine(); } class Car extends Vehicl..
2024.04.16 -
JAVA 자바 디자인 패턴 : 싱글톤 패턴, 장단점, 의존성 주입, 예시
JAVA 자바 디자인 패턴 : 싱글톤 패턴 자바에서 싱글톤(Singleton) 패턴은 객체의 인스턴스가 오직 하나만 생성되도록 보장하는 디자인 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고 객체를 접근할 수 있게 하며, 같은 객체 인스턴스만을 계속해서 재사용합니다. 주로 공유 리소스에 대한 접근 제어나, 설정 정보 같은 경우에 유용하게 사용됩니다. 자바에서 싱글톤 패턴 구현 예시 싱글톤 패턴을 구현하는 방법은 여러 가지가 있지만, 가장 보편적인 방법은 private 생성자와 static 메소드를 사용하는 것입니다. 여기서는 Thread Safe하고 성능도 비교적 우수한 방법인 "Initialization-on-demand holder idiom"을 예로 들어 설명하겠습니다. public class S..
2024.04.16 -
자바 JAVA 코딩테스트 util heap 선언 및 사용법
자바 JAVA 코딩테스트 util heap 선언 및 사용법 자바에서 힙(Heap) 구조는 주로 PriorityQueue 클래스를 사용하여 구현됩니다. PriorityQueue는 자바의 java.util 패키지 안에 있는 클래스로, 힙을 기반으로 하는 우선순위 큐를 제공합니다. 이 큐는 기본적으로 최소 힙의 속성을 가지며, 가장 작은 요소가 항상 루트에 위치합니다. 사용자가 원하는 대로 커스텀 비교자(Comparator)를 사용하여 최대 힙 등 다른 종류의 힙을 구현할 수도 있습니다. PriorityQueue 선언하기 PriorityQueue를 사용하기 위해서는 먼저 해당 클래스를 임포트해야 합니다. 그 후에 PriorityQueue 인스턴스를 생성할 수 있습니다: import java.util.Prior..
2024.04.12 -
자바 JAVA 코딩테스트 util 콜렉션 구현체 : list, map, set, stack, queue 정리
JAVA 코딩테스트 util 콜렉션 구현체 : list, map, set, stack, queue 정리 자바 List import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { // Integer 객체들을 저장하는 ArrayList를 선언 List numbers = new ArrayList(); } } public class Main { public static void main(String[] args) { List names = new ArrayList(); // 요소 추가 names.add("Alice"); names.add("Bob"); names.add("..
2024.04.12 -
2024년 상반기 자기소개서, 포트폴리오
👤 자기소개 직업: 수학과 공부를 좋아하는 💻 프로그래머 목표: 은퇴 이후에도, 평생 공부하며 발전하는 사람 더보기 어릴 적 책 관련 사업을 하시던 부모님의 영향으로 집에는 책이 수천 권 있었습니다. 자연스럽게 독서 습관이 생겼고, 여러 지식을 습득하는 재미를 알게 되었습니다. 고등학교를 거쳐 평생 공부를 하며 지식을 습득하고 발전할 수 있는 직업을 원하게 되었습니다. 내가 되고 싶은 개발자: 🌟 새로운 기술을 배우고 적용하는 것을 좋아하며, 남들의 불편함을 해결하기 위한 개발에 열정을 가진 개발자, 변화를 두려워하지 않고, 더 나은 미래를 위한 개선에 주저하지 않는 개발자 더보기 여러 책이나 매체를 접하게 되면서 워런 버핏이라는 인물을 알게 되었습니다. 1명의 개인이 세상의 흐름을 잘 읽는 모습에 존경..
2024.03.19 -
블록체인 코인 용어 정리 : 채굴, 작업증명, 지분증명, 디파이 등
블록체인 코인 용어 정리 : 채굴, 작업증명, 지분증명, 디파이 등 채굴(합의 알고리즘 consenus algorithm)작업증명(PoW, Proof of Work)목표값 이하의 해시를 찾는 과정을 무수히 반복함으로, 해당 *작업에 참여했음을 알리는 방식입니다.비트코인, 라이트코인, 시아코인, 에이치닥 등의 코인에서 사용하고 있습니다.*작업 : 채굴에 이르기까지의 연산 과정장점 : 모든 노드들이 해시를 검증하기 때문에, 거래 내역을 속이기 힘듭니다.단점 : 느리고, 에너지(전기)소비가 큽니다.지분증명(PoS, Proof of Stake)해당 암호화폐를 보유하고 있는 지분율에 비례하여 의사결정 권한을 주는 방식입니다. 즉, 코인을 많이 보유하고 있는 노드일수록, *블록 생성에 참여할 수 있는 기회가 더 많..
2023.04.04