본문 바로가기

분류 전체보기

(354)
Inner class ( 중첩 클래스 ) 내부 클래스 (inner class) 란?자바에서 내부 클래스 (inner class) 는 한 클래스 내부에 선언된 클래스를 말합니다. 내부 클래스를 선언하게 되면 내부 클래스와 외부 클래스라고 표현할 수 있다. 내부 클래스는 보통 외부 클래스와 연관이 있는 경우가 많고 다른 곳에서 거의 사용할 일이 없는 경우에 내부 클래스를 선언해서 활용을 한다.class OuterClass { private int num = 10; class InnerClass { public void display() { System.out.println("num: " + num); } }}public class Main { public static void..
Thread에 wait와 notify ( 프로듀서 - 컨슈머패턴 ) 1. 스레드 동기화 이해: synchronized 블록을 사용하여 여러 스레드가 공유 자원에 동시에 액세스하지 않도록 관리합니다. 이는 데이터 일관성과 스레드 안전을 유지하는 핵심 개념이다. 2. wait()와 notify() 메소드의 사용: 이 두 메소드를 사용하여 스레드 간의 통신을 구현한다. wait()를 호출하는 스레드는 특정 조건이 충족될 때까지 대기하고, notify()를 사용하여 조건 충족 시 다른 스레드를 깨워 작업을 계속하도록 한다. 3. 프로듀서-컨슈머 패턴: 이 패턴은 멀티스레딩 디자인에서 흔히 사용되는 패턴으로, 한 스레드(프로듀서)가 데이터를 생성하고 다른 스레드(컨슈머)가 이를 소비다. 프로듀서와 컨슈머 패턴으로 코딩해보기package useful.ch06;import java...
Map 인터페이스 Map이란?Map은 키(key)와 값(value)을 연관시키는 자료구조이다. 이는 사전과 유사한 구조로, 각 키는 고유한 값을 가진다. java에서 Map은 인터페이스로 정의되어 있으며, 이를 구현한 여러가지 클래스가 있다. Map 주요 특징키-값 저장 : Map은 키(key)와 값(value)의 쌍으로 데이터를 저장한다. 각 키는 고유해야 하며, 하나의 값에만 매핑된다.중복 키 불가 : Map은 각 키가 고유해야 한다. 따라서 동일한 키를 두 번 이상 추가할 수 없다. 키의 유일성은 Map 내에서 보장된다.순서 보장하지 않음 : Map은 키-값 쌍을 저장하는데 순서를 유지하지 않는다. 따라서 Map에 저장된 순서와 데이터를 순회할 때의 순서는 일치하지 않을 수 있다. Map 주요 기능 및 메서드1. 키..
공동 작업 / 작업 후 pull -> push 1. git status / 파일 확인  2. git pull origin dev / 올라가 있는 파일 먼저 다운로드 3. git status / 다시 파일 확  4. git add . + git commit -m'게임화면2' / 올려야 하는 파일 에드, 커밋 5.git checkout dev / 브랜치 f-dancing에서 dev로 이동 6. git merge f-dancing / dev로 이동 후 dev에서 f-dancing 합치기 7.  git push origin dev / dev에서 push 하기 (dev에서 push 해야됨) 8. git log --oneline / 확인 및 q로 나가기 9. git checkout f-dancing / dev에서 다시 f-dancing으로 이동
Set 인터페이스 Set 인터페이스란?Java에서 set 인터페이스는 java.util 패키지의 일부로, 중복을 허용하지 않는 유일한 요소들을 저장하는데 사용된다. 이 인터페이스는 컬렉션 프레임워크의 일부이며, 순서에 의존하지 않는 데이터 집합을 관리하기 위해 설계되었다. 주요 특징중복 허용 불가 : set 에 같은 요소를 추가하려고 하면 추가가 되지 않는다. 즉, 모든 요소가 고유해야 하며 이미 존재하는 요소를 추가할 경우 무시된다.순서를 보장 하지 않음 : set 은 요소들의 순소를 유지하지 않는다. 요소들이 내부적으로 어떻게 저장되고 관리되는지 set 을 구현하는 클래스에 따라 다르다. 따라서 요소들이 추가된 순서와 set 에서 요소를 순회할 때의 순서가 다를 수 있다.값의 유일성 : set 은 각 요소의 유일성을 ..
List 인터페이스 List 인터페이스란?자바에서 객체를 순서대로 저장하고 관리할 수 있도록 설계된 인터페이스이다. 자바의 java.util 패키지에 속하며, 배열이나 연결 리스트 등의 순차적 자료 구조의 구현제를 위한 메서드를 정의한다. List 인터페이스의 주요 특징순서 유지 : List 인터페이스를 구현하는 자료 구조는 원소들이 삽입된 순서를 유지한다. 이는 원소들이 리스트 내에서 특정 위치(index)를 가지며, 이 인덱스를 통해 접근할 수 있다는 것을 의미한다.중복 허용 : List 는 같은 값을 가진 원소의 중복 저장을 허용한다. 예를 들어, 같은 값을 여러번 리스트에 추가할 수 있으며, 이는 리스트의 크기를 증가시키고 각각의 원소는 별도의 인덱스를 가지게 된다.가변 크기 : List 의 구현제들은 동적으로 크기..
컬렉션 프레임워크 (Collection Framework) 컬렉션 프레임워크(collection framework)란?자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것이다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현된다. 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리 이다.java.util 패키지에 구현되어 있다.개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있다.여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요하다.
LinkedList 구현하기 LinkedList 특징동일한 데이터 타입을 순서에 따라 관리하는 자료 구조자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있다자료가 추가 될 때 노드 만큼의 메모리를 할당받고 이전 노드의 링크로 연결함 (정해진 크기가 없다)jdk 클래스 : LinkedList  하나의 요소를 저장하는 기능 설계package structure.ch04;public class MyLinkedList { private Node head; // 요소의 맨 처음을 가리킴 private int count; // 링크드리스트에 몇개의 요소가 연결 되어 있는 개수 // MyLinkedList 맨 처음 생성시 노드는 없는 상태 public MyLinkedList() { head = null; count..

728x90