활동/독서

[Do it! 점프 투 자바] 03.자바의 기초 - 자료형 (증감연산 / Wrapper 클래스 / StringBuffer / List)

ByeongJun 2023. 8. 18. 11:43
반응형

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다.
 

  모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며

  학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다.


 

 

03장 자바의 기초 - 자료형

자료형(data type)이란 데이터의 종류와 크기를 결정하는 기본 구성 요소로 숫자, 문자열처럼 자료 형태로 사용하는 모든 것을 뜻한다. 프로그램에서 가장 기본적이면서 핵심 단…

wikidocs.net

 

 

 

 

 

증감 연산

++, -- 기호를 이용하여 값을 증가 또는 감소시킬 수 있는데 증감 연산자라고 한다.

 

 

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)는 

자료형을 안전하게 사용할 수 있도록 만들어 주는 기능으로 

자료형을 강제로 바꿀 때 생길 수 있는 캐스팅 오류를 줄일 수 있다.

 

 

 

반응형