JAVA/JAVA2 42

[java2] #32 - Date, Calendar, SimpleDateFormat Class

Date Class 날짜 및 시각 정보를 관리하는 클래스로 *java.util.Date에 포함되어있다. 대부분의 메서드가 deprecated로 처리되어 있으므로 현재 사용되지 않지만 기존에 제공되는 API들의 대다수가 Date타입을 사용하고있다. 예시 Date d1 = new Date(); System.out.println(d1); //toString() 생략되어 있음(= 오버라이딩) 현재 날짜 및 시각 정보가 Wed Jun 24 16:02:18 KST 2020 형태로 출력되며 EEE MMM dd HH:mm:ss zzz yyyy 패턴을 사용하여 toString() 메서드가 오버라이딩 됨 Date d2 = new Date(15000000000L); System.out.ptintln(d2) 생성자에 long..

JAVA/JAVA2 2022.11.17

[java2] #31 - ArrayList (개념/사용법)

ArrayList Collection 프레임워크의 일부이며 java.util 패키지에 소속되어있다. 표준 배열보다는 느리지만 배열에서 많은 조작이 필요한 경우 유용하게 사용할 수 있다. List 인터페이스에서 상속받아 사용된다. ArrayList는 객체가 추가되어 용량을 초과하면 자동으로 부족한 크기만큼 용령이 늘어난다. ArrayList 선언 주로 타입으로 선언을 많이하고, 추가로 다른 타입(String, Character) 등의 타입으로 선언이 가능하다 타입을 선언하면 해당 타입의 데이터만 추가가 가능하고 ArrayList를 선언하면서 초기용량 및 초기값을 세팅할 수 있다. ArrayList list = new ArrayList(); // 타입 설정x Object로 사용 ArrayList demo =..

JAVA/JAVA2 2022.11.15

[java2] #30 - String Class Method

length() 메서드 문자열의 길이를 리턴한다. String test ="test"; System.out.println(test.length()); //4 replace() 메서드 문자열에 지정한 문자가 있으면 새로 지정한 문자로 바꿔서 리턴한다. String test ="test"; System.out.println(test.replace("t","T")); //TesT contains() 메서드 두 개의 String을 비교해서 해당 String을 포함하고 있으면 true, 다르면 false를 리턴한다. String test ="test"; System.out.println(test.contains("t")); //true startsWith() 메서드 문자열이 지정한 문자로 시작하는지 판단한다. 같..

JAVA/JAVA2 2022.11.04

[java2] #29 - StringBuilder, StringBuffer

Java에서 String 클래스는 불변성을 갖는다. 그래서 변하지 않는 문자열을 자주 사용하는 경우엔 좋은 성능을 기대할 수 있다. 하지만 문자열에 대한 변경이 자주 일어나는 프로그램에서 String만 사용하게 된다면 효율적인 성능을 기대하기 어렵다. 그래서 우리는 StringBuilder , StringBuffer을 사용하여 효율적인 성능을 보일 수 있다. Java에서 문자열을 다루는 대표적인 클래스는 String, StringBuilder, StringBuffer가 있다. 1. String VS StringBuilder, StringBuffer Java에서 String 객체는 한번 값이 할당되면 그 공간은 변하지 않는다. 하지만 Stringbuilder나 StringBuffer 객체는 한번 값이 할당..

JAVA/JAVA2 2022.11.02

[java2] #28 - identityHashCode, concat

System.identityHashCode() : 객체의 고유한 HashCode를 리턴하는 메서드이다. System클래스에 정의되며 오버라이딩 할 수 없고, 전달된 객체의 hashcode를 int로 리턴한다. HashCode() : 모든 객체의 부모 클래스인 Object 클래스에 정의 되어있기 때문에 하위 클래스들이 오버라이딩 할 수 있다. 또한 String 클래스에선 value로 hashCode를 만들고 있기 때문에 object가 달라도 문자열이 같으면 동일한 hashCode를 리턴하게된다. String str1 = "JAVA"; String str2 = "JAVA"; String str3 = new String("JAVA"); //1 System.out.println("str 1 hashCode : ..

JAVA/JAVA2 2022.10.27

[java2] #27 - null(널)이란?

null null은 자바의 키워드이다. null은 접근지정자인 private이나 상수 선언을 위한 final과 같이 대소문자를 구분하는 키워드이다. 따라서 Null이나 NULL과 같이 선언할 수 없고 오로지 null로만 선언할 수 있다. null과 참조형 null은 참조형 타입의 기본값이다. 모든 기본형 타입(Primitive type)이 기본(default)값을 갖는 것처럼 참조형 타입(Reference type)은 기본값으로 null을 갖는다. 기본형 타입인 boolean 타입은 false, 정수형 int는 0을 갖는 것처럼 말이다. 그렇다고 null이 기본형이나 참조형과 같은 어떠한 데이터 타입으로 구분되는 것은 아니다. 모든 참조형 레퍼런스에 할당될 수 있는 특수한 값이다. 심지어 아래와 같이 형..

JAVA/JAVA2 2022.09.24

[java2] #26 - throws (예외 떠넘기기)

메서드 내부에서 예외가 발생할 수 있는 코드작성시 try-catch문으로 예외를 처리하는것이 기본이지만 경우에 따라 메서드를 호출한 곳으로 예외를 떠넘길 수 있다. throws 키워드 : 메서드 선언부 끝에 작성하며 메서드에서 처리하지 않은 예외를 호출한 곳으로 떠넘기는 역할을 한다. 형태 리턴타입 메서드명(매개변수선언1, ...) throws 예외클래스1, 예외클래스2, ...{ ... } 발생할 수 있는 예외를 종류별로 throws 뒤에 나열하는 것이 일반적이지만, Exception (상위 예외 클래스) 만으로 모든 예외를 간단히 떠넘길 수 있다. 형태 리턴타입 메서드명(매개변수선언1, ...) throws Exception { ... } throws 키워드가 붙어있는 메서드는 반드시 try 블록 내..

JAVA/JAVA2 2022.09.20

[java2] #25 - FileReader, FileWriter

FileReader, FileWriter는 자바에서 텍스트파일을 읽고 쓰기 위한 클래스이다. 문자 스트림으로 텍스트 파일을 읽고 쓰는데 사용된다. 자바의 입출력 스트림은 문자 스트림, 바이너리 스트림 두 종류가 존재하는데 문자 스트림은 문자만 입력하는 스트립으로 문자가 아닌 다른 데이터는 스트림에서 처리하지 못한다. 만약 동영상, 오디오 등의 바이너리 데이터를 읽고 쓴다면 바이너리 스트림을 사용해야 한다. FileReader FileReader는 파일 입력 스트림을 생성하고 파일을 열어 스트림과 연결한다. Filereader 객체가 생성될 때에 파일과 직접 연결한다. Filereader 생성자의 종류 FileReader(File file) 매개변수로 받은 파일을 읽는 FileReader를 생성합니다. 플..

JAVA/JAVA2 2022.09.12

[java2] #24 - JOptionPane

javax.swing.JOptionPane JOptionPane은 사용자에게 값을 묻거나 정보를 알려주는 표준 대화 상자를 쉽게 팝업해서 이용할 수 있게 해준다. 메소드 수가 많지만 다음과 같이 크게 4가지로 분류해서 익혀두면 사용하기 쉽다. 1. showMessageDialog 2. showConfirmDialog 3. showInputDialog 4. showOptionDilog 1. showMessageDialog 단순한 정보를 알려주는 대화상자를 팝업 시켜주는 메서드이다. 코드 : JOptionPane.showmessageDialog(parenComponent, message, title, messageType); parentComponent : 주로 null 값이 들어간다, 부모 컴포넌트를 지정..

JAVA/JAVA2 2022.09.12

[java2] #23 - 입출력 (BufferedReader/BufferedWriter)

보통 Scanner를 자주 사용하지만 BufferedReader와 BufferedWriter가 알고리즘 측면에서 더 효율이 높다고 한다. 데이터의 양이 적을 때는 큰 차이가 나지 않지만 데이터의 양이 커질수록 Scanner와 BufferedReader/Writer의 차이가 더 발생한다고 한다. BufferedReader / BufferedWriter 이름에서도 알 수 있듯이 각각 Reader와 Writer, 즉 입출력을 담당하며 버퍼를 통해 입출력을 전달해준다. Scanner보다 더 효율이 좋은 이유는 버퍼를 이용하기 때문인데 버퍼를 사용하지 않는 경우는 키보드의 입력이 키를 누르는 즉시 바로 전달되지만 버퍼를 사용하는 경우는 키보드 입력이 있을 때마다 문자 하나씩 버퍼로 전송하고 버퍼가 가득 차거나 개..

JAVA/JAVA2 2022.09.12