Java/Basic Java(20)
-
[Java] Java 설치하기 (JDK17)
자바 개발 도구 설치 방법에 대해서 알아보겠습니다. Java17은 LTS(Long Term Support : 장기 지원) 릴리즈로 1년 후까지 기술 지원 및 버그를 개선한 서비스를 제공받을 수 있습니다. 업데이트 버전을 꾸준히 제공받을 수 있어 최소 2024년 9월까지 업데이트를 받게 됩니다. 저는 개발 및 학습용으로 사용하기 위해 Oracle JDK 설치를 했습니다. Open JDK와 기능의 차이점은 크게 없습니다. 다만, 상업용으로 사용할 때 무료인 Open JDK 쓸지, 유료인 Oracle JDK를 사용할 지의 차이입니다.1. JDK 17 설치오라클 홈페이지에서 원하는 버전을 선택 후 다운로드 합니다. 1.1. 오라클 웹사이트 접속 Oracle JDK 17 설치 파일을 다운로드 하기 위해 아래..
2024.05.19 -
[Java] 컬렉션 개념(LinkedList)
LinkedList는 자바 컬렉션 프레임워크에서 제공되는 데이터 구조 중 하나로, 연결 리스트(Linked List)를 구현한 클래스입니다. 연결 리스트는 데이터 요소들을 노드(Node)라 불리는 객체들로 구성하며, 각 노드는 자신의 데이터와 다음 노드를 가리키는 참조(주소)를 가지고 있습니다. LinkedList는 다음과 같은 특징을 가지고 있습니다: 삽입과 삭제가 빠름: 연결 리스트는 각 노드가 이전 노드와 다음 노드를 직접 참조하고 있기 때문에, 삽입과 삭제 연산이 빠르게 이루어집니다. 요소를 리스트의 맨 앞이나 맨 뒤에 추가하거나 삭제하는 경우에도 노드들을 이동시키는 작업이 필요하지 않습니다. 임의 접근이 느림: 연결 리스트는 각 노드를 순차적으로 따라가야만 원하는 위치에 접근할 수 있기 때문에,..
2023.06.16 -
[Java] 컬렉션 개념(HashMap)
개념 맵이란 것은 키(Key) 와 값(Value) 두 쌍으로 데이터를 보관하는 자료구조. (키는 맵에 오직 유일하게 있어야함 ,값은 중복 상관 X). 키와 값을 매핑하기 위해 해시라는 것을 사용한다. 한편,HashMap은 HashTable과 달리 보조 해시 함수(Additional Hash Function)를 사용하기 때문에 보조 해시 함수를 사용하지 않는 HashTable에 비하여 해시 충돌(hash collision)이 덜 발생할 수 있어 상대적으로 성능상 이점이 있다. (해시 테이블과의 비교는 사실 의미 없음) 특징 java 8 HashMap에서는 Entry클래스 대신 Node 클래스를 사용한다. 링크드 리스트 대신 트리를 사용할 수 있도록 하위 클래스인 TreeNode가 있다는 점에서 java 7..
2023.06.15 -
[Java] 컬렉션 개념(큐)
큐(queue) 큐는 처음에 저장한 데이터를 가장 먼저 꺼내게 되는 FIFO(First In First Out) 구조로 되어있습니다. 큐의 예 은행 창구 줄서기 / 인쇄작업 대기목록 아래 그림을 통해 이해를 해보도록 하겠습니다! 큐는 양 쪽 끝의 통로가 뚫려있다고 생각하면 됩니다. 가장 먼저 들어온 Data가 반환이 될때도 가장 먼저 반환되는 것이죠! 큐는 우선순위 큐, 원형 우선순위 큐, 원형 큐 등 다양하게 존재합니다. public class Main { public static void main(String[] args) { Queue queue = new LinkedList(); queue.add(1); queue.add(3); queue.add(5); //Queue에 값 삽입합니다. System..
2023.06.13 -
[Java] 컬렉션 개념(스택)
컬렉션 - 스택 스택이란(stack) 스택은 마지막에 저장한 데이터를 가장 먼저 꺼내는 자료구조로 입니다. 이것을 LIFO(Last In First Out) 라고 합니다. 스택의 예 웹브라우저의 앞페이지 이동 뒤페이지 이동 / 그릇 쌓기 아래 그림을 보도록 하죠. 먼저 삽입된 값인 17이 가장 아래로, 이후 삽입되는 값은 그 위에 쌓이기 시작합니다. 이후, pop()을 통해 값을 반환할 때도 마지막에 삽입된 값인 45가 가장 먼저 반환되죠! 코드도 함께 보면서 익혀보기 public class Main { public static void main(String[] args) { Stack stack = new Stack(); stack.push(1); stack.push(3); stack.push(5); ..
2023.06.12 -
[Java] GUI 메소드 구현
package com.knight.oop; import java.awt.Button; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class GuiMehtod { } class MyFrame extends Frame implements ActionListener { Button button; public MyFrame() { button = new Button("Check how Kang Rak loves Mina !"); button.addActionListener(this); // 이벤트 핸들러 등록 add(button); setSize(200, 200); set..
2023.03.09