JAVA
래퍼 클래스, Number 클래스
래퍼 클래스, Number 클래스
2022.04.18래퍼(wrapper) 클래스 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스. 래퍼 클래스는, 기본형 값을 감싸는 클래스를 말한다. Integer 래퍼 클래스는, 기본형 int를 감싸고 있다. 즉, 자바에 있는 8개 기본형은 객체가 아닌데, 이 기본형을 객체로 다뤄야 할 때 사용하는 클래스가 래퍼 클래스이다. 래퍼클래스는 8개가 있다. 기본형과 1대1로 매칭된다. Integer와 Character만 빼면, 기본형의 앞에 첫글자만 대문자로 바꾸면 래퍼클래스가 된다. 생성자는 매개변수로 기본형값을 받던지, 문자열값을 받던지 할 수 있다. 원래는 자바가 객체지향 언어이다보니, 객체지향 언어에서는 모든것을 객체로 다루기 때문에, 원래는 기본형은 객체가 아니기 때문에 존재하면 안된다. 그런데 자바에는 왜 기본..
StringBuilder, Math 클래스
StringBuilder, Math 클래스
2022.04.17StringBuilder StringBuffer는 동기화되어 있다. 멀티 쓰레드에 안전(thread-safe) StringBuilder클래스는 StringBuffer와 똑같다. 다만, 한가지 차이점이 있다. StringBuffer는 동기화 처리가 되어있는 한편, StringBuilder는 동기화 처리가 되어있지 않다. 동기화가 뭐냐면, 멀티 쓰레드에 안전하게하는 것을 동기화라고 한다. 싱글 쓰레드와 멀티 쓰레드가 있는데, 싱글 쓰레드는 한번에 1개의 작업만 하는 것이다. 멀티 쓰레드는 한번에 여러개의 작업을 하는 것이다. 우리가 지금까지 작성했던 것들은 전부다 싱글 쓰레드다. 13장에서 멀티 쓰레드로 프로그래밍 하는 것을 공부할 예정이다. 한번에 n개씩 작업한다는 것은 무슨 의미냐면, 카카오톡같은 경우에..
StringBuffer 클래스의 메서드
StringBuffer 클래스의 메서드
2022.04.16StringBuffer의 생성자와 메서드 StringBuffer()는 매개변수로 아무것도 주지 않고 생성자를 이용하면, 길이가 16인 StringBuffer의 인스턴스 char[]배열이 만들어진다. 아무것도 입력하지 않고, 출력해보면, 빈문자열이 나온다. StringBuffer(int length)는 매개변수로 길이를 주는 것인데, 지정된 길이를 가진 StringBuffer인스턴스 char[]를 생성한다. StringBuffer(String str)로 매개변수에 "Hi"라는 문자열을 주면, 지정된 문자열 값을 갖는 StringBuffer인스턴스를 생성한다. 이때 배열의 길이는 지정한 문자열의 길이보다 16더 길게 생성된다. StringBuffer append() 메서드는, 문자열을 추가할 때 사용한다. ..
StringBuffer 클래스
StringBuffer 클래스
2022.04.15StringBuffer 클래스 String처럼 문자형 배열(char[])을 내부적으로 가지고 있다. StringBuffer클래스는 문자열을 저장하기 위한 클래스이다. String처럼 문자형 배열을 내부적으로 가지고 있다. 그래서 여러개의 문자들을 저장할 수 있다. 그러나, String과 달리 내용을 변경할 수 있다. (mutable) String과 StringBuffer 둘다 문자열을 다루기 위한 것이지만, String은 불변인데, StringBuffer는 mutable(변경가능)이다. 즉, StringBuffer는 내용이 변경 가능하다는 이야기다. 그래서, StringBuffer sb = new StringBuffer("abc"); 처럼 StringBuffer를 만들고, 문자열 "abc"를 저장하는 S..
StringJoiner, 문자열과 기본형 변환
StringJoiner, 문자열과 기본형 변환
2022.04.15Join()과 StringJoiner join()은 여러 문자열 사이에 구분자를 넣어서 결합한다. 코드를 보면, 예를 들어 String animals = "dog, cat, bear";가 있을 때, 구분자가 콤마로 들어가 있는데, split으로 ","를 기준으로 자르면, arr에 arr[0] = "dog" , arr[1] = "car", arr[2] = "bear"이렇게 담길 것이다. 이때, String.join("-", arr);을 하면 arr배열에 담겨있는 문자열을 지정한 구분자로 구분해서 결합할 수 있다. String str = String.join("-", arr);을 하게되면, System.out.println(str);을 찍어보면, dog-cat-bear이 출력된다. 문자열과 기본형 간의 변환..
String 생성자
String 생성자
2022.04.15String클래스의 생성자와 메서드 String클래스의 생성자와 메서드에 대해서 알아보자. 자주 쓰이는 중요한 클래스니까, 잘 공부해보자. 표를보자. String(String s)는 String을 매개변수로 갖는데, 잘 쓰지 않는다. 그 아래에 있는 String(char[] value)는 많이 사용한다. char배열을 매개변수로 갖는데, {'H', 'e', 'l', 'l', 'o'}라는 문자들이 담긴 char배열을 생성자에 넣어주면, "Hello"라는 문자열이 만들어진다. 이것이 바로 char배열을 String으로 바꾸는 방법이다. 반대로 바꿀 때는, toCharArray()라는 메서드를 사용한다. String(StringBuffer buf)를 보면 알 수 있듯 StringBuffer를 매개변수로 갖을 ..