본문 바로가기
728x90
반응형
SMALL

자바46

[Java] JDK 17설치 및 환경변수 설정 JDK 17 설치 경로 jdk 설치 경로: https://www.oracle.com/kr/java/technologies/downloads/#jdk17-windows Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 설치방법 형광색 부분을 확인하고 다운로드한다.(나는 윈도우) 다운로드한 후 설치 파일 실행! 나는 Java폴더 밑에 설치! 환경변수 설정하기 윈도우 검색창에 시스템 환경 변수 편집 검색 후 환경변수 클릭 아래와 같이 2개의 시스템 변수를 생성한다 시스.. 2023. 11. 6.
[JAVA] 자바 - 자바에서 제공되는 자료구조 구현 클래스들 컬렉션 프레임워크 프로그램 구현에 필요한 자료구조를 구현해 놓은 JDK라이브러리 java.util 패키지에 구현되어 있습니다. 개발에 소요되는 시간을 절약하면서 최적화된 알고리즘을 사용할 수 있습니다. 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요합니다. Collection Interface 하나의 객체를 관리하기 위한 메서드가 선언된 인터페이스 하위에 List와 Set 인터페이스가 있습니다. List Interface 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스 자료구조 리스트(배열, 연결리스트)의 구현을 위한 인터페이스 중복을 허용합니다. ArrayList, Vector, LinkedList, Stack, Queue, ... Set Interface 순서와 관계.. 2022. 1. 10.
[JAVA] 자바 - 제네릭 메서드 활용하기 제네릭 메서드란? 자료형 매개변수를 메서드의 매개변수나 반환 값으로 가지는 메서드입니다. 자료형 매개변수가 하나 이상인 경우도 있습니다. 제네릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용할 수 있습니다. public 반환형 메서드 이름(자료형 매개변수...) {} 제네릭 메서드의 활용 예 두 점(top, bottom)을 기준으로 사각형을 만들 때 사각형의 너비를 구하는 메서드 두 점은 정수인 경우도 있고, 실수인 경우도 있으므로 제네릭 타입을 사용하여 구현합니다. Point.java public class Point { T x; V y; Point(T x, V y) { this.x = x; this.y = y; } public T getX() { return x; } public V getY.. 2022. 1. 10.
[JAVA] 자바 - <T extends 클래스> 사용하기 다이아몬드 연산자 - ArrayList list = new ArrayList(); // 다이아몬드 연산자 내부에서 자료형은 생략 가능합니다. 제네릭에서 자료형 추론(자바 10부터) ArrayList list = new ArrayList() => var list = new ArrayList() 상위 클래스의 필요성 T자료형의 범위를 제한할 수 있습니다. 상위 클래스에서 선언하거나 정의하는 메서드를 활용할 수 있습니다. 상속을 받지 않는 경우 T는 Object로 변환되어 Object 클래스가 기본으로 제공하는 메서드만 사용 가능합니다. T extends를 사용한 프로그래밍 GenericPrinter에 material 변수의 자료형을 상속받아 구현합니다. 전의 예제에서 어떤 재료를 넣어도 다 출력이 되는 형식.. 2022. 1. 10.
[JAVA] 자바 - 무엇이든 담을 수 있는 제네릭(Generic) 프로그래밍 제네릭 자료형 정의 클래스에서 사용하는 변수의 자료형이 여러 개일 수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정할 수 있도록 선언합니다. 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식입니다. 컬렉션 프레임워크에서 많이 사용되고 있습니다. 제네릭 타입을 사용하지 않는 경우의 예 재료가 Powder인 경우 public class ThreeDPrinter1 { private Powder material; public void setMeterial(Powder material) { this.material = material; } public Powder getMaterial() { return material;.. 2022. 1. 5.
[JAVA] 자바 - 큐(Queue) 구현하기 Queue의 특징 맨 앞(front)에서 자료를 꺼내거나 삭제하고 맨 뒤(rear)에서 자료를 추가합니다. First In First Out (선입선출) 구조입니다. 일상생활에서 일렬로 줄 서 있는 모양을 생각하면 이해하기 쉽습니다. 순차적으로 입력된 자료를 순서대로 처리하는데 많이 사용되는 자료구조입니다. 콜센터에 들어온 문의 전화, 메시지 큐 등에 활용됩니다. jdk 클래스: ArrayList 연결 리스트를 활용하여 Queue 구현하기 MyLinkedQueue.java import ch38.MyLinkedList; import ch38.MyListNode; interface Queue { public void enQueue(String data); public String deQueue(); publ.. 2022. 1. 5.
[JAVA] 자바 - 스택(Stack) 구현하기 Stack의 특징 맨 마지막의 위치(top)에서만 자료를 추가, 삭제, 꺼내올 수 있습니다. (중간의 자료를 꺼낼 수 없습니다.) Last In First Out (후입 선출) 구조입니다. 택배 상자가 쌓여 있는 모양이라고 생각하면 이해하기 쉽습니다. 가장 최근의 자료를 찾아오거나 게임에서 히스토리를 유지하고 이를 무를 때 사용할 수 있습니다. 함수의 메모리는 호출 순서에 따른 stack구조입니다. jdk 클래스: Stack 배열을 활용하여 Stack 구현하기 MyArrayStack.java import ch37.MyArray; public class MyArrayStack { MyArray arrayStack; int top; public MyArrayStack() { top = 0; arrayStac.. 2022. 1. 5.
[JAVA] 자바 - 연결리스트(LinkedList) 구현하기 연결 리스트 특징 동일한 데이터 타입을 순서에 따라 관리하는 자료구조입니다. 자료를 저장하는 노드에는 자료와 다음 요소를 가리키는 링크(포인터)가 있습니다. 자료가 추가될 때 노드만큼의 메모리를 할당받고 이전 노드의 링크로 연결합니다.(정해진 크기가 없습니다.) 연결 리스트의 i번째 요소를 찾는데 걸리는 시간은 요소의 개수에 비례합니다. (O(n)) jdk 클래스 : LinkedList 연결리스트 구현 MyListNode.java public class MyListNode { private String data; // 자료 public MyListNode next; // 다음 노드를 가리키는 링크 public MyListNode() { data = null; next = null; } public MyL.. 2022. 1. 4.
[JAVA] 자바 - 배열 구현하기 배열 구현하기 배열의 특징 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조입니다. 정해진 크기가 있습니다. 요소의 추가와 제거 시 다른 요소들의 이동이 필요합니다. 배열의 i번째 요소를 찾는 인덱스 연산이 빠릅니다. jdk클래스 : ArrayList, Vector 배열 구현 MyArray.java public class MyArray { int[] intArr; int count; // 개수 public int ARRAY_SIZE; public static final int ERROR_NUM = -9999999; public MyArray() { count = 0; ARRAY_SIZE = 10; intArr = new int[ARRAY_SIZE]; } public MyArray(int size) {.. 2022. 1. 4.
728x90
반응형
LIST