본문 바로가기

프로그래밍/JAVA

(27)
[JAVA] 캘린더(Calendar) 0. Date Date는 지역화되지 않았다. - 나라, 국가, 지역별로 시간, 통화, 언어 등에 대한 고려가 이루어지지 않았다. Date 클래스는 대부분 Deprecated (더 이상 지원하지 않는 기능으므로 사용 자제하라는 의미) 되었다. 당장은 compile error가 나지는 않지만, 가급적이면 사용을 자제하고 Calendar를 사용하자. 기본생성자를 사용하면 현재 시간, 날짜 정보를 Date 인스턴스가 갖게 된다. date 인스턴스 결과값 ☞ Wed Oct 26 19:50:47 KST 2016 이상하게 출력된 값을 내 입맛에 맞게 출력하고 싶다면SimpleDateFormat 클래스를 이용해야 한다. SimpleDateFormat 결과값 ☞ 2016.10.26 at 07:50:47 오후 KSTyyy..
[jAVA] 해시맵(HashMap) 0. 들어가기에 앞서 해싱(Hashing)이란 해시함수(hash function)를 이용해서 데이터를 해시테이블(hash table)에 저장하고 검색하는 기법을 말한다. HashMap : 저장은 느리지만 많은 양의 데이터를 검색하는데 뛰어난 성능을 보인다.TreeMap : HashMap에 비해 저장이 빠르지만 데이터를 가져올 때 약간 느리다 [ Map인터페이스 ] 키(key)와 값(value)를 하나의 세트로 묶어서 저장하는 컬렉션 클래스를 구현하는 데 사용키(key) : 중복될 수 없음값(value) : 중복될 수 있음. 데이터와 중복된 키와 값을 저장하면, 기존의 값은 없어지고 마지막에 저장된 값이 남게 된다. void clear() : Map의 모든 객체를 삭제boolean containsKey(O..
[JAVA] StringBuilder & StringBuffer, Math, Wrapper 클래스 1.0 개론 String 클래스는 자기 자신이 변하지 않는(변경이 불가능한 문자열) 불변클래스다. StringBuilder 클래스는 문자열의 저장 및 변경을 위한 메모리 공간(버퍼)을 내부에 지닌다. StringBuffer 클래스는 자기 자신이 변하는(변경이 가능한 문자열) 클래스다. 1. StringBuffer 클래스 우리가 흔히 사용하는 버퍼(Buffer)라는 뜻은 버퍼링(Buffering)으로 많이 사용됐을 것이다.무언가 작업을 할 때, 일시적인 데이터를 기억하는 장치의 의미이다. StringBuffer 인스턴스를 생성할 때 이 기억장치의 크기를 지정할 수 있다. 1.1 StringBuffer 클래스의 특징 String 클래스는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없다. StringBu..
[JAVA] String 클래스 1. String 클래스 1.0 들어가기 앞서 new 연산자 필요없이 문자열은 str1처럼 만들어주는 것이 가능하다. 왜냐? 문자열은 사용 빈도가 높기 때문에 편의를 제공해주는 것이다. 1.1 String 클래스의 특징 문자열을 만드는 두 가지 방법이 존재한다. ① 문자열 리터럴을 지정하는 방법 ※ 상수(constant) : 변하지 않는 변수 (final을 이용해 지정) ※ 리터럴(literal) : 변수 및 상수에 저장되는 값 자체 (메모리에 저장된 값) 정수 리터럴 : 10, 1, 1000 등 실수 리터럴 : 10.5, 0.7 등 문자 리터럴 : "hihi", "what are you doing?" 등 실제 저장되는 값을 의미 ② String 클래스의 생성자를 사용해서 만드는 방법 아래 코드를 통해 ..
[JAVA] 내부 클래스(inner class) 1. 내부클래스(inner class) 클래스 내에 선언된 클래스 (서로 긴밀한 관계가 있음) 장점 : 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있음 코드의 복잡성을 줄일 수 있음(캡슐화) 2. 내부클래스 종류와 특징 변수의 선언위치에 따라 // 인스턴스 변수, 클래스 변수, 지역변수로 나누는 것처럼클래스의 선언위치에 따라 // 인스턴스 클래스, 스태틱 클래스, 지역 클래스, 익명 클래스로 나뉜다. 3. 내부클래스의 선언 class Outer { class InstanceInner {} // 인스턴스 클래스 static class StaticInner {} // 스태틱 클래스 void myMethod(){ class LocalInner {} // 지역 클래스 } } 4. 내부클래스의 제어자..
[JAVA} Object 클래스 java.lnag 패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다.따라서 import 문 없이도 사용할 수 있다. 0. 개 론 가장 많이 사용하는 메서드는 equals, toString, hashCode이며 사용할 떄는 반드시 "오버라이딩"해야 한다.equals와 hashCode는 사용자가 알맞게 정의해야 사용할 수 있다.오버라이딩 하기 위해서 메뉴중에 Soruce메뉴를 보면, Generate라는 도구가 있다.워낙 자주 사용하기 때문에 이렇게 이클립스가 지원하는 부분이다. 1. Object 클래스 모든 클래스의 최고조상이기 때문에 Object 클래스의 멤버들은 모든 클래스에서 바로 사용이 가능하다. 멤버변수는 없고, 11개의 메서드만 가지고 있다. Object 클래스 내에 정의된 메서..
[JAVA} 예외처리(Exceptpion Handing) 1. 프로그램 오류의 종류 컴파일 에러(Compile-time Error) : 컴파일 도중 발생하는 에러 런타임 에러(Runtime Error) : 프로그램 구동 중 발생하는 에러 2. 예외처리의 정의와 목적 정의 : 프로그램 실행 시 발생할 수 있는 예외 발생에 대비한 코드 작성목적 : 프로그램의 비정상적인 종류를 막고, 정상적인 실행상태를 유지하는 것 3. 예외처리 구문 ( try - catch ) try { 예외가 발생할 수 있는 문장 } catch (Exception1 e1) { Exception1이 발생했을 경우, 이를 처리하기 위한 문장 } 예제를 통해서 살펴보도록 하자.1. class exercise1{ 2. public static void main(String args[]){ 3. int..
[JAVA] 인터페이스(Interface) 0. 인터페이스(Interface) 추상(abstract) 메서드는 하위 클래스에서 오버라이딩하도록 기대되는 메서드이다.이때, 구체적인 로직을 가지고 있는 메서드나, 변수일 수 있다. 하지만 interface는 클래스가 abstract로만 이루어져 있으며 일종의 추상클래스(abstract class)이다.인터페이스는 본체(구현부)가 없는 추상메서드와 상수(final) 변수만을 멤버로 가질 수 있다. 1. 인터페이스의 작성 interface 인터페이스이름{ public static final 타입 상수이름 = 값; //모든 멤버변수는 public static final이어야 함. public abstract 메서드이름(매개변수목록); //모든 메서드는 public abstract이어야 함. } interf..