Exception(예외) 오류(Error) 자바 프로그램을 작성할 때 문법이 맞지 않게 코드를 작성하고 컴파일 할 경우 나오는 상황입니다. 예외(Exeption) 시스템이 동작하는 도중에 예상하지 못한 사태가 발생하여 실행 중인 프로그램이 영향을 받는 것을 의미합니다. ● 예외가 발생하는 원인 - 사용자가 데이터를 잘못 입력하는 경우 - 개발자가 로직이나 계산을 잘못 작성하는 경우 - 하드웨어나 네트워크가 제대로 동작하지 못하는 경우 - 악의적으로 잘못된 연산을 요구하거나 시스템을 공격하는 경우 * 예외처리 try{ 예외 상황이 예상되는 문장; ... }catch(예외 상황에 맞는 클래스1 객체1){ 예외 상황1이 벌어졌을 경우 처리할 문장; ... }catch(예외 상황에 맞는 클래스2 객체2){ 예외..
Set 인터페이스 : 순서가 없는 데이터 집합으로 데이터의 중복을 허용하지 않습니다. (HashSet, TreeSet) Map 인터페이스 : 키와 값의 한 쌍으로 이루어지는 데이터의 집합으로 순서가 없습니다. 또한, 키는 중복으로 허용하지 않지만, 값은 중복될 수 있습니다. (HashMap, TreeMap, HashTable, Properties) HashSet - 요소의 저장 순서를 유지하지 않습니다. - 같은 요소의 중복 저장을 허용하지 않습니다. - 해시 알고리즘을 사용하기 때문에 검색 속도가 매우 빠릅니다. 해시 : 임의의 크기를 가진 데이터를 고정된 데이터의 크기로 변환시키는 것을 말합니다. 즉시 저장하거나 찾고자 하는 위치를 참조할 수 있으므로 빠른 속도로 처리할 수 있는 장점이 있습니다. 예..
List 인터페이스 : 순서가 있는 데이터들의 집합으로 데이터의 중복을 허용합니다. (Vector, ArrayList, LinkedList, Stack, Queue(Stack의 반대)) Stack(스택) 스택의 구조는 선형 메모리 공간에 데이터를 저장하면서 후입선출(LIFO)의 시멘틱을 따르는 자료구조입니다. 예시 1) 예시 2) LinkedList LinkedList는 데이터를 저장하는 각 노드가 이전 노드와 다음 노드의 상태만 알고 있는 저장 형태입니다. ArrayList와 같이 데이터의 추가, 삭제 시 불필요한 데이터의 복사가 없어 데이터의 추가, 삭제 시에 유리한 반면 데이터의 검색 시에는 처음부터 노드를 순회해야 하기 때문에 성능상 불리합니다. - 단일 연결 리스트 : 요소의 저장과 삭제 작업이..
List 인터페이스 : 순서가 있는 데이터들의 집합으로 데이터의 중복을 허용합니다. (Vector, ArrayList, LinkedList, Stack, Queue(Stack의 반대)) ArrayList 클래스 벡터와 동일하게 동적 배열을 사용할 수 있습니다. 자바 표준 배열보다 조금 느릴 수 있지만 배열에서 많은 조작이 필요할 때 유용하게 사용됩니다. (벡터보다는 속도가 빠릅니다.) 데이터 저장 시 기본 데이터 타입으로 만들 수 없기 때문에 래퍼 클래스를 사용해야 합니다. 예시) Iterator 클래스를 통해 컬렉션 프레임워크의 요소들을 탐색할 수 있습니다. 자바의 컬렉션 프레임워크에서 컬렉션이 저장되어 있는 요소들을 탐색하여 읽어오는 방법을 표준화한 클래스입니다. 예시) 문제) [영어 단어장] pri..
#컬렉션 프레임워크(collection framework) 여러 가지의 데이터를 메모리에서 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스들의 집합을 의미합니다. ● 컬렉션 프레임워크 주요 인터페이스 1. List 인터페이스 : 순서가 있는 데이터들의 집합으로 데이터의 중복을 허용합니다. (Vector, ArrayList, LinkedList, Stack, Queue(Stack의 반대)) 2. Set 인터페이스 : 순서가 없는 데이터 집합으로 데이터의 중복을 허용하지 않습니다. (HashSet, TreeSet) 3. Map 인터페이스 : 키와 값의 한 쌍으로 이루어지는 데이터의 집합으로 순서가 없습니다. 또한, 키는 중복으로 허용하지 않지만, 값은 중복될 수 있습니다. (HashMap, ..
# array_multisort () - 여러 배열을 한 번에 정렬하거나, 1개 이상의 차원을 가진 배열을 정렬할 수 있는 다차원 배열 정렬 함수입니다. - 다중 배열(array)일 때 특정 key값으로 정렬하고 싶을 때 연관(string)키는 유지되지만, 숫자 키는 재 인덱스 됩니다. ● 사용법 : array_multisort(array1, sortorder, sorttype, array2, array3, ...) sortorder SORT_ASC a-z, 1-9 순 오름차순으로 정렬 SORT_DESC z-a, 9-1 순 내림차순으로 정렬 sorttype SORT_REGULAR 일반적인 정렬. (sort와 동일한 기능을 함) SORT_NUMERIC 숫자 정렬 SORT_STRING 문자열 정렬 SORT_..
# array_push() - 배열의 끝에 하나 이상의 원소를 뒤로 넣는다. ● 사용법 : array_push(array(배열), value1(추가할 값), value2, ...) array_push : 뒤로 넣음 array_pop : 뒤로 빼냄 array_unshift : 앞으로 넣음 array_shift : 앞에서 빼냄
예시 1) Manifest 파일 resource->value->string 파일 Day3 Listener Listener.kt 파일 class Listener : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_listener) Log.d("Listener", "onCreate()") } } # 뷰를 activity로 가져오는 방법 ● 직접 메모리에서 찾아 가져옴(자바에서 사용하던 방법) class Listener : AppCompatActivity() { override fun onCreate(sa..