* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다.
모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며
학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다.
증감 연산
++, -- 기호를 이용하여 값을 증가 또는 감소시킬 수 있는데 증감 연산자라고 한다.
System.out.println(i++);
결과로 1이 아닌 0이 출력되었다.
그 이유는 변수 ++연산자의 위치 때문이다.
i++처럼 변수명 뒤에 붙으면
코드가 실행될 때 i값이 변경되지 않는다.
Wrapper 클래스
이런 원시 자료형은 new 키워드로 값을 생성할 수 없으며
리터럴 표기 방식으로만 값을 세팅할 수 있다.
boolean result = true;
char a = 'A';
int i = 1000;
Wrapper 클래스는 원시 자료형을 대신해 사용할 수 있는 자료형으로,
값 대신 객체를 주고 받을 수 있어 객체지향 프로그래밍의 모든 기능을 활용할 수 있게 해준다.
StringBuffer
문자열을 추가하거나 변경할 때 주로 사용하는 자료형
- String 자료형은 값이 한 번 생성되면 변경할 수 없지만 (immutable) ,
StringBuffer 자료형은 값을 변경할 수 있어 생성된 값은 얼마든지 수정할 수 있다. (mutable)
StringBuffer 자료형은 String 자료형보다 무거운 편에 속하기 때문에
new StringBuffer()로 객체를 생성하면 메모리 사용량도 많고 속도도 느리다.
문자열 추가, 변경하는 작업이 많으면 StringBuffer
문자열 추가, 변경하는 작업이 적으면 String
동기화를 고려할 필요가 없는 상황이면 StringBuffer 보다
성능이 우수하고 멀티 스레드 환경에서 안전한 StringBuilder가 유리하다.
사용법 또한 StringBuffer와 동일해 StringBuilder로만 바꿔주면 된다.
StringBuffer 사용법
/* [1번] StringBuffer 객체를 한번만 생성 */
StringBuffer hi = new StringBuffer(); // StringBuffer 객체 hi 생성
hi.append("hello ");
hi.append("Digimon ");
hi.append("World");
String result = hi.toString();
System.out.println(result);
/* [2번] String 자료형에 + 연산이 있을 때마다 새로운 String 객체 생성 */
String result = "";
result += "hello ";
result += "Digimon ";
result += "World ";
System.out.println(result);
List
프로그래밍 시 저장할 값의 크기가 명확하지 않고 자료형의 갯수가 계속 변하는 상황이라면 리스트를 사용한다.
자바 J2SE 5.0 버전부터 객체를 포함하는 자료형은 어떤 객체를 포함하는지
ArrayList<String> Pitches = new ArrayList<>(); 처럼 명확하게 표현할 것을 권고하고 있다.
또한 J2SE 5.0 버전 이후에 도입된 개념인 제네릭스(generics)는
자료형을 안전하게 사용할 수 있도록 만들어 주는 기능으로
자료형을 강제로 바꿀 때 생길 수 있는 캐스팅 오류를 줄일 수 있다.
'활동 > 독서' 카테고리의 다른 글
[Do it! 점프 투 자바] 03.자바의 기초 - 자료형 (형 변환과 final) (0) | 2023.08.23 |
---|---|
[Do it! 점프 투 자바] 03.자바의 기초 - 자료형 (HashMap의 Key, Value / enum 장점과 예시) (0) | 2023.08.21 |
[Do it! 점프 투 자바] 02.자바 시작하기 (변수와 자료형 / 이름 짓는 규칙 / 주석) (0) | 2023.08.18 |
[Do it! 점프 투 자바] 01.자바란 무엇인가? (개발환경 셋팅 / Main 메서드) (0) | 2023.08.17 |
[Do it! 점프 투 자바] 서평단 선정 (1) | 2023.08.17 |