Object(๊ฐ์ฒด)
- OOP์์ ์์ค์ฝ๋๋ฅผ ๊ตฌ์ฑํ๋ ๋จ์์์์ ๋๋ค.
- ์๋ฐ์์๋ ํด๋์ค๋ผ๋ ๋ฌธ๋ฒ์ผ๋ก ๊ฐ์ฒด๋ฅผ ๊ธฐ์ ํ๊ณ , ํด๋์ค๋ ๋ฐ๋์ ์กด์ฌ ์ด์ ์ ๋ชฉ์ ์ด ๋ช ํํด์ผํฉ๋๋ค.
- ํด๋์ค์์ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
*OOP(Object-Oriented Programming)
- ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด์ ์งํฉ์ฒด๋ก ๋ณด๊ณ ๊ฐ์ฒด๋ค์ ์๋ก ๊ด๊ณ๋ฅผ ๊ฐ๋๋ค๋ ๊ด์ ์ ๊ฐ๊ณ ํ๋ก๊ทธ๋๋ฐํ๋ ๊ฒ์ ๋๋ค.
ํด๋์ค
- ํด๋์ค ์์ ์๋ ๋ณ์๋ ํจ์๋ฅผ ๋ฉค๋ฒ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- ๋ ์์ธํ ๋ณ์๋ ํ๋, ํจ์๋ ๋ฉ์๋๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- ์ ์ธ๊ณผ ์ ์๊ฐ ๊ณต์กดํ๋ ๊ตฌ์กฐ์ ๋๋ค.
- ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ฌ๋์ ๋ฐฐ๋ คํ์ฌ ์์ฑํ๋ ๋ฅ๋ ฅ์ด ํ์์ ์ผ๋ก ์๊ตฌ๋ฉ๋๋ค.
- ํด๋์ค๋ constructor, field, method๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ ๊ทผ์ ์ด์
- public : ์ธ๋ถ ์ ๊ทผ ํ์ฉ
- protected : ๊ฐ์ ํจํค์ง ๋ฐ ํ์ ํด๋์ค์ ์ ๊ทผ ํ์ฉ
- default : ๊ฐ์ ํจํค์ง ์์ ํด๋์ค๋ง ์ ๊ทผ ํ์ฉ, ์๋ฌด ์ ๊ทผ ์ ์ด์๋ฅผ ์ฌ์ฉ ์ํ์ ์ default
- private : ๋ด๋ถ์์๋ง ์ ๊ทผ ํ์ฉ
*๊ธฐ๋ณธ์ ์ผ๋ก ํ๋๋ค์ private ์ ์ธ์ ํ์ฌ ์บก์ํ๋ฅผ ์ํค๊ณ , getter์ setter๋ก ํต์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
this
- ์ธ์คํด์ค๋ new ์ฐ์ฐ์๋ฅผ ํตํด์ ์ฌ์ฉ์์ ์ํด ๋ฏธ๋ ์์ ์ ์์ฑ๋ฉ๋๋ค. ๋ณธ์ธ์ด ํด๋์ค๋ฅผ ์์ฑํ๊ณ ์๋ ์์ ์ ํ์ฌ๋ผ๊ณ ๊ฐ์ ํ์ ๋, ๋ฏธ๋์ ์ธ์คํด์ค๊ฐ ์ด๋ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ง ์์๊ฐ ์์ต๋๋ค.
- ๋ฏธ๋ ์์ ์ ๋ฉ๋ชจ๋ฆฌ ์ด๋์๊ฐ ์ธ์คํด์ค ์ฃผ์๊ฐ์ด ์ ์ฅ ๋ ๊ฒ์ด๊ณ , ๊ทธ ์ฃผ์๊ฐ์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด
this
์ ๋๋ค. - ๊ฐ์ ํด๋์ค์ ๋ํ ์ธ์คํด์ค๋ผ ํ ์ง๋ผ๋ this ๊ฐ์ ์๋ก ๋ค๋ฅธ ๊ฐ์ด ๋ฉ๋๋ค.
- ์ ์ ๋ฉ์๋(static ๋ฉ์๋)์์ this๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ์ ๋ฉ์๋๋ ๋ ๋ฆฝ์ ์ด๋ฏ๋ก ์ธ์คํด์ค์ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์
class MyString {
private byte[] string;
public String getString() {
if (string == null || string.length == 0) return "(null)";
return new String(string);
}
public void setString(String param) {
this.string = param.getBytes();
}
public int length() {
if (string == null) return 0;
return this.string.length;
}
public int compareTo(String param) {
if (string == null) return -1;
return param.compareTo(new String(string));
}
}
public class Main {
public static void main(String[] args) {
MyString str = new MyString();
System.out.println(str.length()); // 0
System.out.println(str.getString()); // (null)
str.setString("Hello, world!");
System.out.println(str.getString()); // Hello, world!
System.out.println(str.length()); // 13
System.out.println(str.compareTo("Hello, world!")); // 0
System.out.println(str.compareTo("Hello, world")); // -1
}
}
์ถ์ฒ
'๐จโ๐ป Programming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ํด๋์ค (2) (0) | 2025.01.04 |
---|---|
[Java] String ๊ฐ์ฒด๊ฐ ๋น์๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ (0) | 2024.10.27 |