old posting/Java

    [Java] Wrapper 클래스와 Auto-boxing 그리고 unboxing

    Wrapper 클래스 : 기본 자료형(primitive type)의 데이터를 감싸는 클래스 * 기본 자료형 : boolean, char, byte, short, int, long, float, double * Wrapper : Boolean, Character, Byte, Short, Integer, Long, Float, Double * Wrapper 클래스는 String과 마찬가지로 immutable하다. * Wrapper 클래스의 static 메소드 valueOf(primitive type or String) : 입력받은 인자 값을 지정된 객체형으로 변환하여 반환한다. ex) Integer num1 = Integer.valueOf(100); Double num2 = Double.valueOf(100..

    [Java] String 관련 메소드와 StringBuffer, StringBuilder 그리고 StringTokenizer

    String 관련 메소드 * String.length() : 문자의 개수 * String.concat() : 문자열 연결 → 문자열(String)은 변경불가(immutable)이기 때문에 메소드를 수행해도 원본이 변경되지 않는다. * String.charAt() : 문자열 안에 특정위치(index)의 문자 리턴, 인덱스는 0부터 시작 * String.indexOf() : 문자열 안에서 특정 문자(char)의 위치(index) 리턴, 발견 못하면 -1 리턴 * String.toUpperCase() : 대문자로 변환 * String.toLowerCase() : 소문자로 변환 * String.startWith() : 문자열이 주어진 prefix 문자열로 시작하는지 여부를 true, false로 리턴 * Str..

    [Java] 예외(Exception)와  try ~ catch 그리고 throws

    [Java] 예외(Exception)와 try ~ catch 그리고 throws

    컴파일 에러 : 문법상 오류 예외(Exception) : 문법상의 오류가 아닌 "실행중"에 발생되는 오류상황, (기본적으로) 예외가 발생되면 예외 관련 메시지를 출력하고 프로그램이 종료된다. * 예외처리(Exception handling)에 try ~ catch 를 사용하는 이유 1. if문은 예외 처리 이외의 용도로 사용되기 때문에 프로그램 코드상에서 예외처리 부분을 구분하기가 쉽지 않다. 2. try {} 블럭은 "일반적인 흐름"을 catch {} 블럭은 "예외처리" 블럭으로 만듦으로 코드 분석이 훨씬 용이하다. * 특히 시스템 자원(resource), HW(파일, DB..) 등을 사용하는 프로그래밍에선 "예외"가 언제든지 발생할 수 있으므로 try ~ catch가 필수적이다. * try 블럭 안에서..

    [Java] 인터페이스(interface)

    인터페이스(interface) : 모든 메소드가 public abstract로 선언되고, 모든 멤버 변수가 public static final로 선언된 특별한 종류의 추상 클래스 * 인터페이스는 interface라고 선언한다. ex) interface TestInterface{} * 인터페이스를 구현(상속)하는 클래스에서는 implements 키워드를 사용한다. ex) class TestImp implements TestInterface{} * 인터페이스를 구현(상속)할 때는 개수 제한이 없다. * 메소드 선언에서 public abstract와 멤버 변수 선언에서 public static final은 생략 가능하다. * 인터페이스는 인스턴스 생성이 불가능하다. (new 사용 불가) * 추상 메소드만 im..