String, StringBuffer, Math, Wrapper 클래스

정주영·2024년 12월 9일

자바

목록 보기
10/10
post-thumbnail

위 자료는 자바 심화 05강 영상을 토대로 작성되었습니다.

1. String 클래스의 이해

C언어에서는 문자열을 chat형 배열로 표현하지만 자바에서는 문자열을 String이라는 클래스를 별도로 제공합니다. String 클래스에서는 문자열과 관련된 작업을 할 때 유용하게 사용 할 수 있는 다양한 메소드가 포함되어 있습니다. 이러한 String 클래스는 java.lang 패키지에 포함되어 제공됩니다.

String 인스턴스는 한번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없는데 이러한 객체를 자바에서는 불변 객체(immutable Object) 라고 합니다. 즉 자바에서는 덧셈(+) 연산자를 이용하여 문자열 결합을 수행하면, 기존 문자열의 내용이 변경되는 것이라 Stack 영역에 새로운 String 인스턴스가 생성됩니다.

자바는 이러한 단점을 보완하기 위해 StringBuffer, StringBuilder 객체를 제공합니다.

2. StringBuffer 클래스의 이해

String 클래스로 생성자로 생성된 문자열에 덧셈(+) 연산자 이용 시, Stack 영역에 존재한 기존 String 변수는 GC(Garbage Collection) 에 의해 제거되고 새 String 인스턴스가 생성된다.

반면 StringBuffer 클래스로 생성자로 생성된 문자열에 덧셈(+) 연산자 이용 시, 기존 String 변수에 더해진다. 즉 GC에 의해 관리되지도 않으며 기존 변수를 계속 이용한다.

3. Math 클래스의 이해

https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html

Math 관련 함수는 훨씬 더 종류가 다양하니 궁금하신 분은 위 링크를 통해 확인하실 수 있습니다. 모든 메소드는 Static 으로 선언되어 Math 객체 생성 없이 Import 시, 바로 메소드명으로 사용 가능합니다.

4. Wrapper 클래스의 이해


자바의 기본타입을 객체타입으로 형변환이 필요한 경우 다음 클래스를 통해 변환이 가능합니다. 밑의 예제를 보시면 이해하기 편하실 겁니다.

profile
효율적인 시스템 설계를 고민하며, 확장성과 안정성을 갖춘 백엔드 개발자가 되길 희망합니다.

0개의 댓글