๊ธฐ๋ณธ ํด๋์ค(Object, String, Class)
๐ก java.lang ํจํค์ง
: ๋ง์ด ์ฌ์ฉํ๋ ๊ธฐ๋ณธ ํด๋์ค๋ค์ด ์ํ ํจํค์ง <- String, Integer, System ๋ฑ
: ํ๋ก๊ทธ๋๋ฐ์ import ํ์ง ์์๋ ์๋์ผ๋ก import๋๋ค
: import java.lang.*; ๋ฌธ์ฅ์ด ์ถ๊ฐ ๋๋ค
๐ก Object ํด๋์ค
: ๋ชจ๋ ํด๋์ค์ ์ต์์ ํด๋์ค
: java.lang.Object ํด๋์ค
: ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค์์ ์์ ๋ฐ์
: ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์
: ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค์ ๋ฉ์๋ ์ค ์ผ๋ถ๋ ์ฌ์ ์ ํ ์ ์์ (final๋ก ์ ์ธ๋ ๋ฉ์๋๋ ์ฌ์ ์ ๋ถ๊ฐ)
: ์ปดํ์ผ๋ฌ๊ฐ extends Object๋ฅผ ์ถ๊ฐ
โ toString() ๋ฉ์๋ : ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ String์ผ๋ก ๋ฐ๊ฟ๋ ์ฌ์ฉ
โ equals() ๋ฉ์๋ : ๋ ์ธ์คํด์ค์ ๊ฐ์ ๋น๊ตํด true/false ๋ฐํ
โ hashCode() ๋ฉ์๋ : ์ธ์คํด์ค์ ์ ์ฅ์ฃผ์ ๋ฐํ, search์ ์ ์ฉ
* hash : ์ ๋ณด ์ ์ฅ, ๊ฒ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์๋ฃ๊ตฌ์กฐ, ํ ๋ฉ๋ชจ๋ฆฌ์ ์ธ์คํด์ค๊ฐ ์ ์ฅ๋๋ ๋ฐฉ์
โ clone() ๋ฉ์๋ : ๊ฐ์ฒด์ ์๋ณธ ๋ณต์ , ์๋ณธ ์ ์งํด๋๊ณ ๋ณต์ฌ๋ณธ์ ์ฌ์ฉ, ์๋ก ์ธ์คํด์ค๊ฐ ์๊ธฐ๋๊ฒ
: ๊ฐ์ฒด์ clone() ๋ฉ์๋ ์ฌ์ฉ ํ์ฉ์ ์๋ฏธ๋ก implements Cloneable ์ธํฐํ์ด์ค ๋ช ์
๐ก String ํด๋์ค
: ์ ์ธ 2๊ฐ์ง
String str1 = new String("abc"); // ํ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์ ์์ฑ, newํ ๋๋ง๋ค ์๋ก์ด ์ฃผ์์์ฑ๋จ
String str2 = "test"; // ์์ ํ์ ์กด์ฌ, ๋ฆฌํฐ๋ด, str2,str3์ ๊ฐ์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํด
String str3 = "test";
: ํ๋ฒ ์์ฑ๋ String ๊ฐ์ ๋ถ๋ณํ๋ค
โ A.concat(B)์ผ๋ก String ํด๋์ค ๋ฌธ์์ด ๋๊ฐ ์ฐ๊ฒฐ -> A์ A+B์ ๋ฌธ์์ด์ด ๋ค์ด์ค๋ฉฐ ์๋ก์ด ๋ฌธ์์ด ์ฃผ์๊ฐ ์์ฑ๋๋ค
=> ๋น ๋ฉ๋ชจ๋ฆฌ๊ฐ ์์ฑ๋๊ณ gabage๊ฐ ๋ง์ด ์๊ธธ ์ ์๋ค.
โ StringBuilder, StringBuffer : ๋ด๋ถ์ ์ผ๋ก ๊ฐ๋ณ์ ์ธ char[] ๋ฐฐ์ด์ ๊ฐ์ง๊ณ ์๋ ํด๋์ค
: ๋ฌธ์์ด์ ์ฌ๋ฌ๋ฒ ์ฐ๊ฒฐํ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ ์ ์ฉ
: ์๋ก ์์ฑํ์ง ์๊ณ ๊ธฐ์กด ๋ฐฐ์ด์ ๋ณ๊ฒฝํ๋ฏ๋ก gabage๊ฐ ์์ฑ๋์ง ์๋๋ค
๐ StringBuffer : ๋ฉํฐ ์ฐ๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๋๊ธฐํ ๋ณด์ฅ
๐ StringBuilder : ๋จ์ผ ์ฐ๋ ๋ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ ๊ถ์ฅ
๐ก Class ํด๋์ค
: ์๋ฐ์ ๋ชจ๋ ํด๋์ค์ ์ธํฐํ์ด์ค๋ ์ปดํ์ผ ํ class ํ์ผ๋ก ์์ฑ๋จ
: class ํ์ผ์๋ ๊ฐ์ฒด์ ์ ๋ณด (๋ฉค๋ฒ๋ณ์, ๋ฉ์๋, ์์ฑ์ ๋ฑ)๊ฐ ํฌํจ๋์์
: Class ํด๋์ค๋ ์ปดํ์ผ๋ classํ์ผ์์ ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์