[Java] 컬렉션 프레임워크 (List, Set, Map)
·
Java/Base
컬렉션 프레임워크 (Collection Framework)  - 데이터를 표현/조작하는 데 사용되는 클래스와 인터페이스들의 집합  - 프로그램 구현에 필요한 자료 구조를 구현해 놓은 JDK 라이브러리  - 개발에 소요된 시간을 절약하면서 최적화된 알고리즘을 사용할 수 있음  - 데이터를 저장하는 여러 가지 방법을 제공함  List 계열 인터페이스  - 객체를 순서에 따라 저장함 (인덱스로 접근 가능)  - 중복 값 가능 ArrayList 클래스// 타입 미설정 시 (Object로 선언)ArrayList 리스트명 = new ArrayList();// 타입 설정 시 (제네릭 사용)ArrayList 리스트명 = new ArrayList(); // ex) 정수 자료형이 들어가는 ArrayList // Array..
[Java] 자료 구조
·
Java/Base
자료 구조 (Data Structure)  - 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현 방법  - 성능 좋은 알고리즘의 기반 : 효율적인 자료 구조  - 자료의 효율적인 관리는 프로그램의 수행 속도와 밀접한 관련이 있음  - 프로그램에 맞는 최적의 자료 구조를 활용해야 함      → 여러 자료 구조에 대한 이해 중요  선형 자료 구조  - 한 줄로 자료를 관리하는 자료 구조 #  배열 (Array)  - 정해진 크기의 메모리를 먼저 할당받아 사용해야 함      : 값자료형[] 배열명 = new 값자료형[크기];  - 자료의 물리적 위치와 논리적 위치가 같음 #  연결 리스트 (LinkedList)  - 자료가 추가될 때마다 메모리를 할당받음  - 자료는 링크로 연결됨  - ..
[Java/Swing] 로또 게임 구현
·
Java/Swing (GUI)
- 1 ~ 45 범위의 랜덤한 정수 6개 코드#  랜덤 정수 추출 기능 파일public class LottoRandomNumber { public int[] lottoNumber() { // 메서드에서 리턴할 것이므로 멤버변수로 선언하지 않아도 됨 int[] lotto = new int[6]; // 한 곳에서만 사용된다면 지역변수로 선언 Random r = new Random(); for (int i = 0; i #  GUI 구현 파일public class LottoFrame extends JFrame implements ActionListener { JButton button; int[] lotto = new int[6]..
[Java] 로또 게임 구현 중 NullPointerException 발생
·
Error Note
에러 발생 코드public class LottoFrameError extends JFrame implements ActionListener { JButton button; int[] lotto; // 중략 // @Override public void actionPerformed(ActionEvent e) { System.out.println("게임 시작 ~"); LottoRandomNumberBefore lottoRandomNumber = new LottoRandomNumberBefore(); // 객체 생성 lottoRandomNumber.lottoNumber(); // 번호 생성 lotto = lottoRandomNumber..
[Java] Thread - 은행 계좌 입출금에 대한 동기화 기능 구현
·
Java/Base
코드#  클래스 파일 public class BankAccount { int money = 100_000; public int getMoney() { return money; } public void setMoney(int money) { this.money = money; } // 입금 // synchronized 메서드 public synchronized void saveMoney(int money) { int currentMoney = getMoney(); try { Thread.sleep(3000); } catch (InterruptedException e) { ..