목록분류 전체보기 (231)
코딩 기록들
- Singleton Pattern : Application내부에서 유일한 객체로 사용할 수 있도록 하는 개발 패턴 - Singleton Pattern으로 만들어진 클래스는 Application에서 단 1번만 인스턴스 생성을 할 수 있기 때문에, 처음 만들어진 인스턴스를 변경하지 않고 1개의 인스턴스를 계속 사용할 수 있도록함 - Enum은 Java에서 가장 완벽한(유일한) Singleton Instance ! --> 인스턴스 생성을 할 필요없이 한번 정의하는 것으로 유일한 값으로 사용할 수 있기 때문 -> 따라서, 상수를 파라미터로 받고자 할 경우 Enum을 사용하는 것이 가장 좋은 방법 ! Enum (열거형) - 상수를 파라미터로 받는 메소드가 가끔 필요함 - 만약, 변수로 아래처럼 작성했지만, 상수..
Calendar 자바는 날짜와 시간을 처리할 수 있는 3가지 클래스를 제공 1. Date 2. Calendar 3. LocalDateTime (Java 1.8에서 추가) Calendar - 자바 1.8 미만에서 사용 - 날짜를 제어하는 클래스 - 레퍼런스 타입이지만, 사용할때 Calendar.getInstance() 라고 작성한다 --> 유일한 인스턴스이므로 new하지않고 Calendar(".")getInstance() 로 사용함 - 원래의 인스턴스에서 복제된 인스턴스를 준다 - Calendar이 돌려주는 '월' 은 0부터 시작함 -> Month를 가져올때는 +1 해서 가져와야함 ex) get(Calendar.MONTH) + 1 - Calendar이 돌려주는 요일은 숫자로 돌려준다 : 1(일요일) ~ 7..
File클래스는 파일의 데이터를 읽고쓰는 기능은 지원하지 않음 : 파일의 입출력은 스트림을 사용해야됨 1. 파일을 객체로 생성 File file = new File("C:\\Temp\\file.txt"); 2. 해당 경로에 File / Directory 가 실제로 있는지 확인 booldean is Exist = file.exists(); 3. exist() 리턴값이 false : createNewFile(), mkdirs() 메소드로 파일 / 디렉토리 생성 exist() 리턴값이 true : canExecute(), canRead(), canWrite(). getParent(), getName()등 통해 정보 얻어내기 File Input 파일 읽기 (File System -> Java) - 자바로 파일을..

컬렉션 프레임워크(Collection Framework) Java에서 흔하게 사용되는 여러 자료구조들을 제네릭을 이용해 미리 작성해 놓은 툴 인터페이스와 구현클래스의 종류 1. List (Interface) ArrayList (Implemented class) - (set과 다르게) 중복값을 가질 수 있음 - 배열을 편하게 사용하기 위한 자료구조 - 앞서 만든 ScoreList와 유사 2. Map (Interface) HashMap (Implemented class) - 데이터를 key, value 페어로 가지고 다닐 수 있게 함 - 하나의 데이터가 Key:Value 쌍으로 이루어진 자료구조 - Map -> k(key)값에는 : 문자열(String), 정수(int)를 가장 많이 씀 (+enum) 3. S..
제네릭 & 컬렉션 프레임워크 - 자바 1.5부터 추가됨 (15년 전) - 유연한 데이터 처리를 가능케 하는 Java의 강력한 기능 중 하나 - 자바로 개발을 할 때 안쓰면 안됨. 반드시 알고 있어야됨 - 완전히 중복된 코드인데, 타입만 다를경우 유용하게 사용할수있음 제네릭 자료구조의 형태만 제시하고 실제로 어떤 타입의 데이터가 관리될 것인지는 나중에 결정하는 기술 컬렉션 제네릭을 이용해 Array를 조금 더 다양한 형태로 간편하게 사용할 수 있도록 제공하는 프레임워크 제네릭 - 유연한 자료구조를 만들어낼 수 있음 - 클래스 / 인터페이스 / 메소드 정의할 때 type 을 parameter로 사용할 수 있도록 함 - 사용할 타입을 나중에 정하도록 하는 제네릭을 사용하면 훨씬 더 편리해짐 제네릭 타입 - 타..
Java에서 제공하는 내장 Exception은 Java Application이 동작할 때, 코드의 조건을 만족하지 못했을 때 : -> 지정된 Exception이 발생하도록 되어있음 개발자가 직접 조건을 정의하고 지정된 Exception을 발생시킬 수도 있음 -> 사용자 예외, 커스텀 예외 ex) 사용할 수 없는 ID 입니다. / 이미 사용중인 ID 입니다 / ID는 최소 8글자 이상 입력하세요 / 비밀번호는 영어, 숫자, 특수기호를 사용해 10자리이상 입력하세요 등등 사용자 예외는 항상, 반드시 RuntimeException을 상속받아 생성 public class InvalidUserIdException extends RuntimeException{ } - RuntimeException의 오버로딩된 생성..

자바의 예외 종류 Throwable (예외 최상위 클래스) | Exception (try~catch : 필수) -> 을 상속받은 예외들은 if로 처리할 수 없음 (컴파일 exception : 컴파일 할 때 예외 발생 여부 확인) -> 코드 쓸 때 예외가 반드시 처리 돼야함 (자바가 예외를 처리하는 방법을 완전히 분리시켜놨기 때문에, Exception만 상속받는 경우는 try~catch를 반드시 써주기) ex) IOE Exception / ClassNotFound Exception | RuntimeException (try~catch : 옵션) -> 을 상속받은 예외들은 if로 처리할 수 있음 (= 실행중 발생하는 예외) -> 실행 중 예외 '회피' 해줘야됨 ex) NullPointerException /..
- 프로그램이 동작하는 과정 중 잘못된 입력 값이 전달되거나 - 읽어야 하는 파일이 존재하지 않거나 (다음 파트 내용) - 배열의 인덱스를 잘못 전달했거나 - Null 인스턴스에 접근을 하려했거나 등등의 이유로 오류가 발생하는데, --> 이것을 “예외” 라고 함 --> 예외가 발생한경우 자바 프로그램은 JVM(실행중인 어플리케이션 죽여버림)에 의해 강제종료됨 - 예외처리 : 어플리케이션이 죽지않게 코드를 방어적으로 쓰는것 - 예외가 발생하더라도 프로그램이 종료되지 않도록 하는 방법이면서 + 예외가 발생하지 않도록 하는 방어코딩의 방법 (예외가 발생하더라도 jvm에서 강제종료 시키지 않고, 프로그래밍이 핸들링하도록 하게 하는것) * NullPointerException * String adress = nu..