N스크린하이브리드앱과정/JAVA 44

[5주][1일][3~4th] JAVA: enum(열거형), Calendar 클래스

★ 용어 정리 * enum(열거형) 1. 쓰임 : public enum 이름 { 값1, 값2... }. 클래스 안에서 지정해주면 된다. 2. 주의사항 : 메서드 안에 선언되면 안된다! * Calendar 클래스 1. 개념: 날짜와 시간을 객체모델링화한 클래스. 시스템으로부터 시간 정보를 얻기 때문에 getInstance() 클래스 메서드를 이용. 예) Calendar.getInstance(); 2. 위치 : java.util 패키지 3. 종류 (상수) - YEAR : 년도 - MONTH : 월 - DATE : 해당 월의 날짜 - WEEK_OF_YEAR : 해당 년도의 몇 째주 - WEEK_OF_MONTH : 해당 월의 몇 째주 - DAY_OF_MONTH : DATE와 동일 - DAY_OF_YEAR : 해..

[4주][5일][3~4th] JAVA: 제네릭을 이용한 데이터 처리

★ 용어 정리 ☆ 실습(1) : 일반적인 데이터 처리 1. 일반적인 데이터 처리 - int형만 - 18번줄 : 멤버변수 member가 int형이기 때문에 메서드를 호출할 경우 int형만 가능함 2. 일반적인 데이터 처리 - Object형 - 26번줄~ : TestClass2 클래스 안의 제네릭이 데이터형으로 지정된 것이 아닌 만물의 어머니 Object 형으로 지정되어 모든 데이터형을 포함하게 되었다. 따라서 모든 데이터를 출력하는 것 이 가능하다. - 21번줄 : String으로 다운 캐스팅을 하였기 때문에 temp변수에 저장이 가능하다. 그리고 temp 변수에는 가장 마지막에 출력된 15번줄의 스트링이 저장될 것이다. 결과 ☆ 실습(2) : 제네릭을 이용한 데이터 처리 - 5~8번 : Integer형으..

[4주][4일][3~4th] JAVA: Map. 스택과 큐 실습

★ 용어 정리 - Map, 스택과 큐 Map 개념 Map: (key, value)가 있음. 사물함 개념. 필요할 때 꺼내 쓸 수 있음 클래스 HashMap() LinkedHashMap() 메서드 put() ☜ (키, 값)을 넣을 수 있음 get() ☜ (키, 값)을 가져올 수 있음 keySet() ☜ 모든 키를 보여줌 values() ☜ 모든 값을 보여줌 스택과 큐 개념 Stack : 배열과 유사, 순차적으로 저장. 항상 top에서만 삽입, 삭제가 가능 Queue : 한쪽에서 offer()로 삽입, 반대쪽에서 poll()로 삭제 클래스 Stack() 메서드 peek() ☜ 맨 위 객체 변환. 제거X pop() ☜ 맨 위 객체 반환. 제거O offer() ☜ 큐에서 삽입 poll() ☜ 큐에서 가장 오래된..

[4주][3일][3~4th] JAVA: 자료구조와 컬렉션(collection). Set, List.

* 개념 컬렉션 : 다수의 데이터, 데이터 그룹 스택 : 마지막에 넣은 데이터부터 순서대로 꺼낼 수 있는 데이터 구조(LIFO). 큐 : 들어온 순서대로 데이터를 꺼낼 수 있는 데이터 구조(FIFO). * List 계열의 대표적 2가지 // ArrayList : 데이터가 순차적으로 저장 // LinkedList : 데이터와 함께 다음 데이터 위치로 저장 * 용어 정리 Set (1) HashSet() : 순서 제멋대로, 중복 안됨. (2) LinkedHashSet() : 순서는 있으나, 중복 안됨. (3) TreeSet() : 순서 오름차순으로 자동정렬, 데이터형이 다를 경우 저장 안됨!(예: 문자형, 정수형이 배열 안에 섞여있을 경우) 박싱, 오토박싱 사용법 (1) 박싱 : set.add(new Inte..

[4주][2일][3~4th] 예외(Exception) 클래스. SimpleDateFormat 클래스. throws

* try/catch/finally문 try : 오류가 발생할 것 같은 경우들을 담는 곳 catch : 오류 발생시 출력값을 지정하는 곳 finally : 무조건 출력해주는 영역 * 예외처리 종류 ArithmeticException : 산술관련 에러정보 담당(0으로 나누는 것 등..) ArrayIndexOutOfBoundsException : 배열범위를 벗어날 경우 담당 Exception : 모든 예외 처리 NullPointerException : 문자열 null 값 오류 담당 * 예외처리 메서드, 어떻게 출력될까? 종류 e.printStackTrace(); e.getMessage(); 예외 정보를 간단하게 출력해줌 * 1차원 배열 생성할 때 int[] arr = new int[2]; //arr[0] ~..

[4주][1일][3~4th] JAVA: 중첩클래스(nested class)

☆ 실습(1) - outer, inner 클래스 - 내부클래스 선언 방법(9번, 13번) : 외부클래스명.내부클래스명 참조변수명 = 외부클래스객체.new 내부클래스 - 메인메서드와 동일한 급의 내부클래스를 만들 수 있다. - inner클래스에서 외부클래스의 멤버변수 a,b,c를 출력하려면, 위와 같이 내부클래스 선언 방법에 따 라 인스턴스를 생성하여야 한다. 결과 ☆ 실습(2) - 지역변수와 지역내부클래스 - 클래스 멤버변수의 위치는 실습(1)과 같지만, 메인메서드와 같은 레벨의 위치에 outerMethod() 메 서드가 하나 생겼고, 그 안에 지역변수 d,e가 추가되었다. - 이 케이스는 실습(1)처럼 내부클래스의 인스턴스를 생성하지 않는다. - 대신 outerMethod()안에서, 지역내부클래스의 인..

[3주][5일][3~4th] JAVA: Wrapper 클래스

**Wrapper 클래스** 개념 : 8개의 기본 데이터를 클래스 객체로 만든 묶음을 나타냄 ☆ 오토박싱, 오토언박싱 - 스택 영역 : 기본 변수가 들어감 - 힙 영역 : new연산자 (1)오토박싱 : 스택 영역 -> 힙 영역 -> 스택 영역의 값을 힙 영역(박스)에 객체를 생성하여 집어넣음. (2)오토언박싱 : 힙 영역 -> 스택 영역 -> 힙 영역(박스)에서 값을 꺼내어 스택 영역으로 복사 ☆ 메서드 종류 parseXXX() : String형을 각 기본자료형으로 변환할 때 XXXvalue() : 자신이 가진 값을 기본데이터형으로 반환 ☆ 실습(1) 결과 ☆ 실습(2) - 10진수를 2/8/16진수로 바꾸기 메서드 종류 toBinaryString() : 2진수로 바꿔줌 toOctalString() : ..

[3주][4일][3~4th] StringBuffer 클래스, StringTokenizer

*개념 String 클래스는 불변 객체라고 하며, 내용을 변경할 수 없다. 또한 같은 문자열이 나오게 되더라도, 따로 공간을 생성해줘야 한다. StringBuffer 클래스도 마찬가지다. 하지만, 이 클래스에서 제공하는 메서드들의 기능을 사용할 때에는 메모리 공간을 매번 할당하지 않고 같은 메모리 공간에서 인스턴스를 재사용한다. *메서드의 종류 1. capacity() : 사전 할당된 문자 배열(버퍼) 크기 반환 - 기본 버퍼 크기 : 16 StringBuffer sb = new StringBuffer(); System.out.println("스트링 버퍼 크기: "+sb.capacity()); 2. append() : 문자열 추가 sb.append("Hello "); sb.append("Java!"); ..

[3주][2일][8th] JAVA: 연습문제

[5-11] 주어진 2차원 배열의 데이터보다 가로와 세로로 1이 더 큰 배열을 생성해서 배열의 행과 열의 마지막 요소에 각 열과 행의 총합을 저장하고 출력하는 프로그램이다. (1)에 알맞은 코드를 넣어서 완성하시오. 문제 정답 소스 (1) 우선 5x3표를 6x4표로 확장하기 위해 result[][]2차원 배열을 만든다. 배열의 크기는 (행+1,열+1)이 되어야 하므로, score배열에 +1을 해준다. (2) 여기서 score.length와 score[0].length가 갑자기 등장하는데, 개념을 알아보자. score.length는 score배열의 열의 길이, 즉 표에서 세로의 길이가 되며, 5가 된다. score[0].length는 score배열이 첫번째 위치하고 있는 값의 길이이기 때문에, 100이 들..

[3주][2일][3~4th] JAVA: 다양한 클래스 라이브러리의 활용

☆ 오늘 수업의 핵심 TIP *자바 클래스 라이브러리의 기능을 볼 수 있는 홈페이지! - 영문 : http://docs.oracle.com/javase/7/docs/api/ - 한글 : http://xrath.com *오버라이딩 방법(tostring) - alt + shift + s + v : 기존의 오버라이딩 - alt + shift + s + s : toString을 사용할 때 편리한 오버라이딩(실습3) *실습3에서 오버라이딩은 상속받았을때만 쓰이지 않나? - 오버라이딩은 일반적으로 부모클래스에서 메서드의 기능을 상속받은 경우에 그 기능을 자기의 입맛에 맞게 재설정하려고 사용한다. 그런데, 실습3에서는 얼핏 상속받은 것이 아무것도 없어보인다. -> 이유는 tostring메서드가 object클래스에서 ..