
StringBuilder
StringBuilder๋ StringBuffer๋ ๊ฑฐ์ ์ ์ฌํ์ง๋ง ๋ฑ ํ ๊ฐ์ง ์ฐจ์ด์ ์ด ์๋ค.
StringBuffer๋ ๋๊ธฐํ๋์ด ์์ด์ ๋ฉํฐ ์ฐ๋ ๋์ ์์ ํ๋ค(thread-safe)
ํ์ง๋ง StringBuilder๋ ๋๊ธฐํ๊ฐ ๋์ด์์ง ์๋ค.
์ฐ๋ ๋์ ๋ํด์๋ ์ถํ ์์ธํ๊ฒ ๊ณต๋ถํ ๊ฒ์ด์ง๋ง ๋์ถฉ ์์๋ณด์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ฑ๊ธ ์ฐ๋ ๋ : ํ ๋ฒ์ 1๊ฐ ์์
๋ฉํฐ ์ฐ๋ ๋ : ํ ๋ฒ์ n๊ฐ ์์
์ฑ๊ธ ์ฐ๋ ๋๋ฅผ ๋ฉ์ ์ ๋ก ์๋ฅผ ๋ค๋ฉด ์๋๋ฐฉ์๊ฒ์ ํ์ผ์ ๊ณต์ ๋ฐ๊ณ ๊ณต์ ๋ฐ์ ํ์ผ์ ๋ค์ด๋ก๋๋ฅผ ํ๋ ๋์ ๋๋ ์๋๋ฐฉ์๊ฒ ๋ต์ฅ์ ํ์ง ๋ชปํ๋ ์ํฉ์ด ์ฑ๊ธ ์ฐ๋ ๋์ด๋ค. ์ฑ๊ธ ์ฐ๋ ๋๋ ํ ๋ฒ์ ํ ๊ฐ์ ์์ ๋ฐ์ ์ฒ๋ฆฌํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฐ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ์ ์์ฆ์๋ ์์ฃผ ๊ฐ๋จํ ๊ฒ์ด ์๋ ์ด์ ๊ฑฐ์ ๋ค ๋ชจ๋ ๊ฒ ๋ฉํฐ ์ฐ๋ ๋์ด๋ค.
๋น์ ๋ฅผ ํ์๋ฉด ์ฐ๋ ๋๋ ์ผ๊พผ๊ฐ์ ์กด์ฌ์ด๋ค. ์ฑ๊ธ ์ฐ๋ ๋๋ ์ผ๊พผ์ด ํ๋ช ์ธ ๊ฒ์ด๊ณ , ๋ฉํฐ ์ฐ๋ ๋๋ ์ฌ๋ฌ๋ช ์ ์ผ๊พผ์ธ ๊ฒ์ด๋ค.
๊ณ ๋ก StringBuilder์ StringBuffer์ ์ฐจ์ด์ ์ ๋๊ธฐํ ์ฌ๋ถ์ ์๋ค.
๊ทธ๋ผ ๋ฌด์กฐ๊ฑด ๋๊ธฐํ๊ฐ ๊ฐ๋ฅํ StringBuffer๊ฐ ์ข์๊ฐ? ๋น์ฐํ ์๋๋ค.
๋ฉํฐ ์ฐ๋ ๋ ํ๋ก๊ทธ๋จ์ด ์๋ ๊ฒฝ์ฐ, ๋๊ธฐํ๋ ๋ถํ์ํ ์ฑ๋ฅ ์ ํ์ด๋ค.
์ด๋ ๊ฒ ์ฑ๊ธ ์ฐ๋ ๋ ํ๋ก๊ทธ๋จ์ผ ๊ฒฝ์ฐ์๋ StringBuffer๋์ StringBuilder๋ฅผ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ด ํฅ์๋๋ค.

๊ทธ๋ ๊ธฐ์ StringBuffer๋ฅผ StringBuilder๋ก ๋ณ๊ฒฝํ ๋๋ ํด๋์ค ์ด๋ฆ๋ง ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
๋ค๋ฅธ ๋ฉ์๋ ๊ฐ์ ๊ฑฐ๋ ๋ชจ๋ ๋์ผํ๊ธฐ ๋๋ฌธ์ ๊ฑด๋ค ํ์๊ฐ ์๋ค.
Mathํด๋์ค
Mathํด๋์ค๋ ์ํ ๊ด๋ จ static๋ฉ์๋์ ์งํฉ์ด๋ค.

Math.round()์ Math.random()์ ์ ๋ฒ์ ๊ณต๋ถ๋ฅผ ํ์๋ค.
Math.round()๋ฅผ ๋ค์ ๋ณต์ต์ ํ๊ธฐ ์ํด round()๋ก ์ํ๋ ์์์ ์๋ ์ธ ๋ฒ์งธ ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ์ ํด๋ณด์.

์ด๋ ๊ฒ Math.round()๋ ์์์ ์๋ ์ฒซ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผ์ ํด์ฃผ๋ ๋ฉ์๋์ด๋ค.
๊ทธ๋ ๋ค๋ฉด Mathํด๋์ค์ ๋ค์ํ ๋ฉ์๋๋ฅผ ์์๋ณด์.

ceil()๊ณผ floor()์ ์์๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์ํด์ผ ํ๋ค. -10.1์ ceil()์ ์ฌ์ฉํด ์ฌ๋ฆฌ๋ฉด -11์ด ์๋, -10์ด ๋๋ค.

๋ฐ์ฌ๋ฆผ์๋ ์ข ๋ฅ๊ฐ ์๋ค. rint() ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ง์๋ฅผ ๋ฐํํ๋ ์ง์๋ฅผ ๋ฐํํ๋ ๋ฐ์ฌ๋ฆผ์ด๋ค.
Math.rint(4.5)๋ฅผ ํ๋ฉด 5.0(ํ์)์ด ์๋ 4.0(์ง์)์ด ๋ฐํ์ด ๋๋ค. ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ ์๋ค.
๋ํผ(wrapper) ํด๋์ค
๋ํผ ํด๋์ค๋ 8๊ฐ์ ๊ธฐ๋ณธํ์ ๊ฐ์ฒด๋ก ๋ค๋ค์ผ ํ ๋ ์ฌ์ฉํ๋ ํด๋์ค์ด๋ค.

๋ํผ ํด๋์ค๋ ์ด 8๊ฐ๊ฐ ์๋ค.

int์ char์ ์ ์ธํ ๋๋จธ์ง ๋ํผํด๋์ค๋ ๊ธฐ๋ณธํ์์ ์ฒซ ๊ธ์๋ฅผ ๋๋ฌธ์๋ก๋ง ๋ฐ๊พผ ๊ฒ์ด๋ค.


๋ฑ๊ฐ ๋น๊ต(==)๋ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ false๊ฐ ์ถ๋ ฅ์ด ๋๋ค.
equals()๋ ์ค๋ฒ๋ผ์ด๋ฉ์ด ๋์ด์๊ธฐ ๋๋ฌธ์ true๊ฐ ์ถ๋ ฅ์ด ๋๋ค.
compareTo() ๋ํ equals()๋ ๋๋ถ๋ถ ๋์ผํ์ง๋ง ๊ฐ์ผ๋ฉด 0, ์ค๋ฅธ์ชฝ ๊ฐ์ด ์์ผ๋ฉด ์์, ์ค๋ฅธ์ชฝ ๊ฐ์ด ํฌ๋ฉด ์์๋ฅผ ๋ฐํํ๋ค.
toString()์ ๋ฌธ์์ด๋ก ๋ณํํ ํ ๋ฐํํ๋ค.
MAX_VALUE๋ ์ ์ํ(int)์ ์ต๋๊ฐ, MIN_VALUE๋ ์ ์ํ(int)์ ์ต์๊ฐ์ ๋ฐํํ๋ค.
Integer.SIZE๋ intํ์ ๋นํธ(32 bits)๋ฅผ ๋ฐํํ๊ณ , Integer.BYTES๋ intํ์ ๋ฐ์ดํธ(4 bytes)๋ฅผ ๋ฐํํ๋ค.
Integer.TYPE์ ๊ฐ์ฒด๊ฐ ์ด๋ค ํ์ ์ธ์ง ๊ธฐ๋ณธํ์ ํ์ ์ ๋ฐํ(int)ํ๋ค.
Numberํด๋์ค
Numberํด๋์ค๋ ๋ชจ๋ ์ซ์ ๋ํผ ํด๋์ค์ ์กฐ์์ด๋ค.

์ฌ๊ธฐ์ BigInteger์ ์์ฃผ ํฐ ์ ์๋ฅผ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๊ณ , BigDecimal์ ์์ฃผ ํฐ ์ค์๋ฅผ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ค.
Long(10์ 19์น) ๋ณด๋ค ํฐ ์ ์๋ฅผ ๋ค๋ฃฐ ๋๋ BigInteger์ ์ฌ์ฉํ๋ฉด ๋๊ณ ,
Double(10์ 308์น) ๋ณด๋ค ํฌ๊ณ ์ ๋ฐํ ์ค์๋ฅผ ๋ค๋ฃฐ ๋๋ BigDecimal์ ์ฌ์ฉํ๋ฉด ๋๋ค.

Numberํด๋์ค์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ์ถ์ ํด๋์ค์ด๋ค.
๋ํผ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ๊ธฐ๋ณธํ์ผ๋ก ๋ฐ๊พธ์ด์ฃผ๋ ๋ด์ฉ์ด ๋ค์ด์๋ค.
์๋ฅผ ๋ค์ด new Integer(100)์ ๊ฐ์ ๊ธฐ๋ณธํ 100์ผ๋ก ๋ฐ๊ฟ ๋ intValue()๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธํ int๋ก ๋ฐ๋๋ค.
๋ฌธ์์ด์ ์ซ์๋ก ๋ณํ
๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์


๋ฌธ์์ด์ ๋ํผ ํด๋์ค๋ก ๋ณํํ ๋๋ valueOf๋ฅผ ์ฌ์ฉํด๋ ๋์ง๋ง ์์ฑํ๋ฉด์ ๋ฌธ์์ด์ ๋ฃ์ด๋ ์๊ด์ด ์๋ค.
Byte b = new Byte("100"); ์ด๋ฐ ์์ผ๋ก ๋ฌธ์์ด์ ๋ฃ์ด๋
๋๋ถ๋ถ์ ๋ํผ ํด๋์ค ์์ฑ์์๋ ๋ฌธ์์ด์ ๋ฐ๋ ์์ฑ์๊ฐ ์๊ธฐ ๋๋ฌธ์, ์ทจํฅ์ ๋ฐ๋ผ ์ฌ์ฉํด๋ ๋ฌด๊ดํ๋ค.
10์ง๋ฒ์ด ์๋ n์ง๋ฒ์ ๋ฌธ์์ด์ ์ซ์๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.

paeseInt()๋ฅผ ์ฌ์ฉํ ๋ (๋ฌธ์์ด, n)์ ์จ์ฃผ๋ฉด ๋๋ค.
n์ ์๋ตํ๊ณ ๊ทธ๋ฅ ์ฌ์ฉํ๋ฉด 10์ง์๋ก ์๋ ์ฒ๋ฆฌ๊ฐ ๋๋ค.
๊ทธ๋ ๊ธฐ์ "FF"๋ง ์ ์ด์ฃผ๊ฒ ๋๋ฉด 10์ง์์๋ F๊ฐ ์๊ธฐ ๋๋ฌธ์ NumberFormatException์ด ๋ฐ์ํ๊ฒ ๋๋ค.
์คํ ๋ฐ์ฑ & ์ธ๋ฐ์ฑ
๊ธฐ๋ณธํ int์์ ๋ํผ ํด๋์ค Integer๋ก ์๋์ผ๋ก ๋ณํํด์ฃผ๋ ๊ฒ ์คํ ๋ฐ์ฑ์ด๋ค.
๋ฐ๋๋ก ๋ํผ ํด๋์ค Integer์์ ๊ธฐ๋ณธํ int๋ก ์๋์ผ๋ก ๋ณํํ๋ ๊ฒ ์ธ๋ฐ์ฑ์ด๋ค.
JDK1.5 ์ด์ ์๋ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ๊ฐ์ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ๋ค.

ํ์ง๋ง JDK1.5 ์ดํ๋ถํฐ๋ ๊ฐ๋ฅํ๋ค. ๊ทธ๋ ๋ค๊ณ Java์ ๊ธฐ๋ณธ์์น์ด ๋ฐ๋๊ฒ ์๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๋ฐ๊ฟ์ค๋ค.

์ด๋ ๊ฒ ์ง์ intValue()๋ฅผ ์จ์ค์ผ ํ๋๊ฑธ ๊ทธ๋ฅ ๋ณ์์ ์ด๋ฆ๋ง ์ ์ด๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก intValue()๋ฅผ ์ฌ์ฉํด์ค๋ค.

ArrayList๋ ๊ฐ์ฒด๋ง ์ ์ฅ ๊ฐ๋ฅํ๋ค.
๊ทผ๋ฐ list.add(10)์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๊ฐ์ฒด๊ฐ ์๋ ๊ธฐ๋ณธํ์ ๋ฃ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง,
์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก new Integer(10)์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํ ๊ฒ์ด๋ค. → ์คํ ๋ฐ์ฑ
๋ํ Integer ํ์ ์ ๊ฐ์ฒด๋ง ๋ค์ด์๋ Arraylist๋ฅผ ๊ธฐ๋ณธํ intํ์ ์ value์ ๋ฐ๋ก ๋ด์ ๋๋ ๊ธฐ๋ณธํ์ผ๋ก ๋ณํ ํ
๋ด์์ค์ผ ํ์ง๋ง ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก intValue()๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. → ์ธ๋ฐ์ฑ

์ด๋ ๊ฒ ์ฐธ์กฐํ๊ณผ ๊ธฐ๋ณธํ์ ๋ฐ๋ก ๋ณํํด์ฃผ๋ ์์ ์์ด ์ด๋ ๊ฒ ์ฐธ์กฐํ๊ณผ ๊ธฐ๋ณธํ๊ฐ์ ์ฐ์ฐ, ์ฐธ์กฐํ ๊ฐ์ ์ฐ์ฐ
๋ชจ๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค. ์ด๋ฌํ ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ ๊ฐ์ ์๋ ํ ๋ณํ ๊ธฐ๋ฅ์ด ๋ฐ๋ก ์คํ ๋ฐ์ฑ & ์ธ๋ฐ์ฑ์ด๋ค.
'๐จ๏ธ Backend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Java]ํ์ํ ํด๋์ค (1) | 2022.11.27 |
|---|---|
| [Java]Calendarํด๋์ค (0) | 2022.11.25 |
| [Java]StringBuffer ํด๋์ค, StringBuffer ๋ฉ์๋ (1) | 2022.11.19 |
| [Java]Stringํด๋์ค, ๋ฌธ์์ด ๋น๊ต, ๋น ๋ฌธ์์ด, String์์ฑ์ (0) | 2022.11.15 |
| [Java]hashCode(), toString(), Objectํด๋์ค, equals() (0) | 2022.11.15 |