본문 바로가기

반응형

JAVA

(33)
[JAVA] 컬렉션 프레임워크 (List, Set, Map) 컬렉션 프레임워크란? 자바에서 데이터를 저장하는 클래스들을 표준화한 설계 구조를 말한다. (틀, 뼈대) 컬렉션 프레임워크를 사용의 장점 제작자의 편의성 증가 유지보수 용이 제작자들의 실력이 상향평준화됨 대표적인 인터페이스에 대해서 하기와 같이 정리해보았습니다. 인터페이스 설명 특징 대표 구현 클래스 List 순서가 있는 데이터의 집합 데이터의 중복을 허용 ArrayList LinkedList Set 순서를 유지하지않는 데이터의 집합 데이터의 중복을 허용하지 않음 HashSet LinkedHashSet Map 키(key)와 값(value)의 쌍으로 이루어진 데이터 집합 순서유지X 키 중복 X 값 중복O HashMap LinkedHashMap Properties ArrayList 지원메서드 및 예시 1 2 ..
[JAVA] 클래스와 클래스 선언 (필드, 생성자, 메소드, 인스턴스멤버) 클래스 선언 대표 이름을 하나 결정하고 이것을 클래스 이름으로 한다. 식별자 작성 규칙에 따라서 만들어야한다. 일반적으로 소스 파일당 하나의 클래스를 선언하지만, 두개 이상의 선언도 가능 객체 생성과 클래스 변수 new 클래스; new 는 클래스로부터 객체를 생성시키는 연산자 new 연산자로 생성된 객체는 메모리 힙(heap) 영역에 생성 클래스의 구성 멤버 필드 (Field), 생성자 (Constructor), 메소드 (Method) : 생략되거나 복수개 생성가능 필드 : 객체의 데이터가 저장되는 곳 생성자 : 객체 생성 시 초기화 역할 메소드 : 객체의 동작에 해당하는 실행 블록 필드 (Field) 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳 변수와 다른점 : 생성자와 메소드 전체에서 ..
[JAVA] 객체지향 프로그래밍 객체지향 프로그래밍이란? 현실 세계에서 어떤 제품을 만들때 부품을 만들고 하나씩 조립하듯 객체(부품)를 만들고 하나씩 조립해서 완성된 프로그램을 만드는 기법 : OOP(Object Oriented Programming) 객체 지향 프로그래밍 객체란? 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른것과 식별이 가능한 것 객체는 속성(필드, field)과 동작(메서드, method)으로 구성 현실세계의 객체를 소프트웨어 객체로 설계하는 것은 객체 모델링 이라고 한다. 객체의 상호작용 객체들은 각각 독립적으로 존재, 다른 객체와 서로 상호작용을 하면서 동작 객체들 사이의 상호작용 수단은 메서드 객체가 다른 객체의 기능을 이용하는 것 : 메서드 호출 메서드를 실행하기 ..
[JAVA] 배열, 함수 활용문제 (로또) 1. 정수를 입력받습니다. 사용자는 정확히 정수만을 입력합니다. 2. 1에서 입력한 정수만큼의 랜덤정수를 저장한 배열을 생성합니다. 3. 이 랜덤정수들은 1이상 50이하의 정수들로만 구성되어있습니다. 서로 중복되지않습니다. 4. 배열에 저장된 값들을 출력합니다. 심화 +) 4의 기능을 수행하는 함수를 정의하고 호출하여 사용 +) 2,3의 기능을 수행하는 함수를 정의하고 호출하여 사용 +) 유효성 검사도 실행 (방법1) 랜덤값 생성 후 for문 사용하여 중복값 제거 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 4..
[JAVA] 메인 메서드가 public static void 이유 자바의 메인 메서드 구조는 public static void main(String[] args) 입니다. 그럼 왜 이러한 구조로 정리되는지 하기에 정리해보겠습니다. public public은 접근 제어자로 어느 클래스에서든 해당 객체를 참조할 수 있다는 뜻을 가지고 있습니다. JVM(Java Virtual Machine)이 접근 하기 위해서 public을 사용해야만 합니다. 다른 접근 제어자를 사용하면 프로그램이 실행되지 않습니다. static static으로 뭔가를 선언하게 되는 경우, 자바가 컴파일 되는 시점에 정의됩니다(클래스 로드). 그리고 static 요소를 non-static 요소에서 호출하는 것은 불가능합니다. main메서드는 프로그램의 시작점으로 프로그램이 실행되면 제일 먼저 호출이되는 메..
[JAVA] 중첩반복문 (별찍기) 중첩반복문을 사용하는 별찍기 문제를 풀때는 별모양을 보고 디버깅표를 그린 뒤 규칙을 찾아서 작성하면 된다. 1 2 3 4 5 6 7 8 9 public static void main(String[] args) { for (int i = 1; i
[JAVA] 배열 랜덤(Random) 숫자 생성 java.util.Random 클래스를 사용하여 난수를 리턴 받을 수 있다. 가장 기본적인 정수 랜덤 뽑기부터 해보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package blog; import java.util.Random; public class random_riview { public static void main(String[] args) { Random random = new Random(); //for문을 사용하여 10개의 랜덤수를 만들어보자. for(int i = 0; i
[JAVA] 배열 이진탐색/이분검색(Binary Search) 알고리즘 이진탐색 알고리즘 오름차순으로 정렬되어 있는 리스트에서 특정한 값을 찾을 때, 처음 중간의 값을 임의의 값으로 선택하여, 그 값과 찾고자 하는 값의 크고 작음을 비교하는 방식이다. 이진탐색 알고리즘 조건 ★ 모든 원소는 정렬되어야 한다. ★ 이진탐색 알고리즘의 장단점 장점 : 검색이 반복될 때마다 목표값을 찾을 확률은 두 배가 되므로 속도가 빠르다. 단점 : 정렬된 리스트에서만 사용할 수 있다 이진 탐색의 구현 1. 탐색의 대상이 되는 자료들이 array[low] 에서부터 array[high]에 들어있다고 가정하자. (정렬되어 있어야 함) 즉 어떤 시점에서 탐색되어야 할 범위는 low에서 high 까지가 된다. 맨 처음 low에는 0번 인덱스의 값, high에는 n-1번 인덱스의 값이 들어갈 것이다. 2..

반응형