목록전체 글 (253)
bdfgdfg
자바의 날짜와 시간과 관련된 클래스는 Date -> Calendar -> java.time에 속한 클래스의 순서로 발전해왔다고 한다. 상대적으로 빈약한 Date와 그보다 더 발전한 Calendar. 다만 몇가지의 단점으로 인해 java.time패키지에 속한 클래스들이 기존의 단점을 개선한 버전으로 나왔다곤 하지만.. 이미 Date와 Calendar가 오래 사용되어 왔기에 가볍게 보고는 가야한다. Calendar / GregorianCalendar Calendar는 추상클래스이기에 직접 객체를 생성할 수 없고 메소드를 통해 완전히 구현된 클래스의 인스턴스를 얻어야 한다고 한다. import java.io.FileInputStream; import java.util.*; public class Hello {..
모든것을 외울필요는 당연히 없고, 유용해보이는것들 작성 혹은 중요한 개념이라고 생각되는것들만 작성. Object클래스 모든 클래스의 최상위 부모. clone() : 객체 자신의 복사본을 만든다. -> 예전에는 clone()후 앞에 형변환을 직접 해주어야 했는데, 공변 반환 타입을 통해 clone()을 오버라이딩 했을 때 반환타입을 실제로 반환되는 타입으로 반환 가능하다. -> 또한 clone()은 일반적으로 얕은복사. 그렇기에 복제할 대상의 인스턴스가 멤버로 클래스 멤버변수를 가지고 있다면 깊은 복사 처리가 될 수 있도록 처리해주어야 한다. wait() : 다른 쓰레드가 notify를 호출할때까지 현재 쓰레드는 무한 대기 및 매개변수로 넣은 시간동안 대기. hashcode() -> 해싱 기법에 사용되는 ..
예외처리란 런타임에 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것을 의미. -> 프로그램의 갑작스런 비정상종료를 막고, 다시 정상적인 상태로 복구 시키기 위함. 자바는 런타임에 발생할 수 있는 프로그램 오류를 에러와 예외 두 가지로 분류한다. 에러는 메모리 부족(OutOfMemoryError)나 스택오버플로우(StackOverFlowError)와 같이 발생 시 복구할 수 없는 심각한 오류 예외는 발생되더라도 수습가능한 상대적으로 덜 심각한 오류. 여기서 위의 예외를 핸들링하는 방법인 예외처리를 배워본다. 예외 클래스 계층구조 RuntimeException 클래스들은 프로그래머의 실수에 의해 발생가능한 예외들과 연관이 있다. -> ex) 배열 크기를 넘어선 인덱스 접근, null 접..
제어자 제어자는 클래스,변수 또는 메서드의 선언부에 사용되어 부가적인 의미를 부여. 크게 여기서 알아볼건 public,protected,default, private등이고, 그 외 static,final,abstract,synchronized,volatile등이 있다. 접근 제어자 접근제어자는 클래스,멤버변수,메소드,생성자에 사용되며 이름 그대로 접근 수준의 레벨을 부여하는 것. private - 같은 클래스 내에서만 접근이 가능. default - 같은 패키지 내에서만 접근이 가능. (참고로 접근제어자가 지정되어 있지않다면 이 접근제어자가 기본값.) protected - 같은 패키지 및 다른 패키지의 자손클래스에서 접근이 가능. public - 접근 제한이 전혀없음. 접근 제어자를 이용하는 이유는 캡슐..