목록Programming (56)
프로그래밍 공부
Set 인터페이스소개Java의 Set 인터페이스는 중복된 요소를 허용하지 않는 컬렉션을 정의하는 인터페이스임.Set은 Java Collections Framework의 일부로, 집합을 표현하는 데 사용된다.주요 특징중복 요소 없음: Set은 동일한 요소를 두 번 저장할 수 없음. 따라서 중복된 값을 자동으로 제거함.순서 없음: Set 인터페이스를 구현한 클래스는 요소의 순서를 보장하지 않음.따라서 요소가 저장된 순서와 상관없이 요소를 가져올 수 있음.null 값 허용: Set은 null 값을 허용함. 단, 한 개의 null 값만 저장할 수 있음.주요 구현 클래스Set 인터페이스를 구현하는 주요 클래스는 다음과 같다:HashSet:해시 테이블을 기반으로 구현됨.빠른 검색 성능을 제공 (평균 O(1) 시간 ..
리스트자바의 리스트(List)는 컬렉션 프레임워크의 한 부분으로, 순서가 있는 요소의 집합을 저장하는 인터페이스.리스트는 중복된 요소를 허용하며, 요소의 삽입 순서가 유지됨.자바에서 리스트를 구현하는 주요 클래스는 ArrayList, LinkedList, Vector각각의 리스트 클래스는 특정한 사용 사례에 따라 장단점이 있음.1. List 인터페이스List 인터페이스는 순서가 있는 요소의 목록을 정의하며, 다음과 같은 주요 메서드를 제공함:add(E e): 리스트의 끝에 요소를 추가.add(int index, E element): 지정된 위치에 요소를 추가.get(int index): 특정 인덱스에 있는 요소를 반환.remove(int index): 특정 인덱스의 요소를 제거.set(int index,..
자바 컬렉션(Java Collection Framework)자바 컬렉션 프레임워크는 데이터를 저장하고 관리하기 위한 다양한 자료 구조를 제공하는 API임. 이를 통해 데이터의 효율적인 저장, 검색, 수정, 삭제 등을 처리할 수 있음.자바 컬렉션은 데이터를 저장할 수 있는 표준화된 클래스와 인터페이스로 구성되어 있으며, 배열과 같은 데이터 구조보다 유연하고 효율적인 데이터 관리를 가능하게 함.자바 컬렉션 프레임워크는 크게 세 가지 주요 인터페이스로 나뉨:Collection 인터페이스:List, Set, Queue 등의 하위 인터페이스가 포함.이 인터페이스는 데이터의 집합을 관리하는 메서드를 정의.예시:List: 순서가 있는 데이터의 집합(중복 허용). 예: ArrayList, LinkedList.Set: ..
다형성다형성(Polymorphism)은 객체지향 프로그래밍에서 중요한 개념 중 하나로, 동일한 인터페이스를 통해 서로 다른 데이터 타입의 객체를 처리할 수 있는 능력을 의미함.자바에서 다형성은 주로 두 가지 형태로 구현: 컴파일 타임 다형성과 런타임 다형성.1. 컴파일 타임 다형성 (Static Polymorphism)컴파일 타임 다형성은 메서드 오버로딩(Method Overloading)과 연관됨.동일한 이름을 가진 메서드가 매개변수의 유형이나 개수에 따라 다르게 동작하는 것을 의미.예시:class MathUtils { // 메서드 오버로딩 public int add(int a, int b) { return a + b; } public double add(double ..
배열(Array) 선언 방법int[] arr = {1,2,3};int[] arr = new int[5];// n개 생성int n = 5;// 길이가 5인 정수형 배열 생성int[] array = new int[n];배열 전체 출력 방법import java.util.Arrays;// 배열 내용을 반환Arrays.toString(arr);유용한 함수import java.util.Arrays;// Array.fill(arr, n)함수 배열 전체의 값을 n으로 채움Arrays.fill(arr, 100);// Arrays.equals 메서드는 두 배열의 길이와 요소를 비교Arrays.equals(arr1, arr2); // Arrays.sort() 요소를 오름차순으로 정렬Arrays.sort(arr);// 내림차..
추상 클래스와 인터페이스는 둘 다 자바에서 객체지향 프로그래밍의 중요한 개념으로클래스 간의 공통된 행동을 정의하고 재사용할 수 있게 해준다.하지만 두 개념은 설계 목적과 사용 방식에서 차이가 있다. 언제 추상 클래스를 사용하고, 언제 인터페이스를사용하는지에 대한 가이드는 다음과 같다.1. 상속 관계와 목적추상 클래스:is-a 관계를 나타낼 때 사용. 상속받는 클래스들이 공통된 속성과 행동을 가질 때 적합.클래스를 만들 때 일부는 구현하고 일부는 추상 메소드로 남겨서, 상속받는 클래스에서 구체적으로 구현하도록 하고 싶을 때 사용.일반적으로 기본적인 동작이나 상태(필드)를 여러 클래스에 걸쳐 공유하고자 할 때 사용.예를 들어, 모든 동물들이 기본적으로 가지고 있는 특성(예: eat() 메소드, age 필드)..