[Java] 클래슀

μžλ°”μ˜ (거의) λͺ¨λ“  것은 클래슀, 객체이닀.
int, boolean 같은 κΈ°λ³Ένƒ€μž…μ„ λΉΌλ©΄ μ „λΆ€ 클래슀라고 봐도 λ¬΄λ°©ν•˜λ‹€.

클래슀둜 μ •μ˜λœ νƒ€μž…μ€ new ν‚€μ›Œλ“œλ₯Ό 톡해 μƒμ„±λ˜λ©°, λ™μ ν• λ‹Ήλ˜μ–΄ κ°€λΉ„μ§€ 컬렉터에 μ˜ν•΄ κ΄€λ¦¬λœλ‹€.

ν΄λž˜μŠ€λŠ” class ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•  수 μžˆλ‹€.

class 클래슀λͺ…
{
**Β Β Β  ν•„λ“œλ“€...**
**Β Β Β  λ©”μ„œλ“œλ“€...**
}

μ’Œν‘œκ°’ x와 yλ₯Ό ν‘œν˜„ν•˜λŠ” 클래슀λ₯Ό κ΅¬ν˜„ν•΄λ³΄μž.
λŒ€κ°• μ΄λ ‡κ²Œ 짜볼 수 μžˆκ² λ‹€. image

image 잘 λŒμ•„κ°„λ‹€.

μ €κΈ°μ„œ public PointλΌλŠ” λ†ˆμ΄ μƒμ„±μžλ‹€.
new ..둜 객체 생성을 μ‹œλ„ν•˜λ©΄ μ €κ²Œ 호좜되고, 객체의 ν•„λ“œλ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” 것이닀.


μ ‘κ·Όμ œμ–΄μž
그리고 public은 μ ‘κ·Όμ œμ–΄μžλ‘œ, μ™ΈλΆ€μ—μ„œ μ‚¬μš©μ„ ν•  수 있게 할것인가, 말 것인가λ₯Ό μ œμ–΄ν•œλ‹€.
public은 κ°€λŠ₯. privateλŠ” λΆˆκ°€λŠ₯. protectedλŠ” μƒμ†μžλ§Œ κ°€λŠ₯이닀.

보톡 외뢀에 κ³΅κ°œν•  μΈν„°νŽ˜μ΄μŠ€ λ©”μ†Œλ“œλ₯Ό public으둜 두고,
ν•„λ“œμ—” μ „λΆ€ privateλ₯Ό 것이 λ°”λžŒμ§ν•˜λ‹€.
protectedλŠ” νŠΉμ • νŒ¨ν„΄μ„ κ΅¬ν˜„ν• λ•Œ λΉΌκ³ λŠ” 잘 μ•ˆμ“΄λ‹€.

μ—¬νŠΌ μ €κ±Έ λ‹€μ‹œ λ°”λžŒμ§ν•˜κ²Œ μž¬κ΅¬μ„±ν•œλ‹€λ©΄, μ΄λ ‡κ²Œ ν•  수 μžˆκ² λ‹€.
ν•„λ“œλ₯Ό 숨기고, λ³„λ„μ˜ 좜λ ₯ λ©”μ„œλ“œλ₯Ό μ •μ˜ν•œλ‹€. image

image μ‚¬μš©μž 츑의 μ½”λ“œκ°€ 훨씬 깔끔해진 것을 λ³Ό 수 μžˆλ‹€.


μ •μ ν•„λ“œ, μ •μ λ©”μ†Œλ“œ
ν•„λ“œκ°€ λ©”μ†Œλ“œ μ•žμ— static을 뢙이면 μ •μ μš”μ†Œκ°€ λœλ‹€.
μ΄λ ‡κ²Œ 된 녀석듀은 λ”°λ‘œ 객체λ₯Ό μƒμ„±ν•˜μ§€ μ•Šμ•„λ„ 접근이 κ°€λŠ₯ν•˜λ‹€. ν”„λ‘œκ·Έλž¨ λ‘œλ”© μ‹œμ— μ΄ˆκΈ°ν™”κ°€ λ‹€ 되기 λ•Œλ¬Έμ΄λ‹€...

그리고 μ •μ λ©€λ²„λŠ” 객체(λ³€μˆ˜)의 이름이 μ•„λ‹ˆλΌ 클래슀λͺ…μœΌλ‘œ μ ‘κ·Όν•œλ‹€. ν΄λž˜μŠ€μ— ν•˜λ‚˜μ”©λ§Œ μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. image

image λ³€μˆ˜λͺ…μœΌλ‘œ 접근해도 λ™μž‘ν•˜κΈ΄ ν•˜λŠ”λ°, μ ˆλŒ€ 쒋은 방법은 μ•„λ‹ˆλ‹€...


this ν‚€μ›Œλ“œ
클래슀의 동적 λ©”μ†Œλ“œ μ•ˆμ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλŠ” ν‚€μ›Œλ“œλ‹€. μ •μ λ©”μ†Œλ“œμ—μ„  μ•ˆλœλ‹€.

이건 객체 μžκΈ°μžμ‹ μ„ 가리킨닀.
이걸 μ‚¬μš©ν•˜λ©΄ 객체 μžμ‹ μ˜ 멀버λ₯Ό λͺ…ν™•ν•˜κ²Œ ν‘œν˜„ν•  수 μžˆλ‹€. image

image this.x = x; 처럼 μ“°λ©΄ λ³€μˆ˜λͺ…이 같더라도 λͺ…ν™•ν•˜κ²Œ κ΅¬λΆ„μ˜ λœλ‹€.

또, 객체 μžμ‹ μ„ λ°˜ν™˜ν•˜κ±°λ‚˜ μ–΄λ”˜κ°€λ‘œ 전달할 λ•Œλ„ μ‚¬μš©ν•  수 μžˆλ‹€.
μ•„λž˜ μ½”λ“œλŠ” 객체 μžμ‹ μ„ λ°˜ν™˜ν•΄μ„œ 체이닝 ν˜•μ‹μœΌλ‘œ λ©”μ†Œλ“œλ₯Ό ν˜ΈμΆœν•  수 있게 ν•΄μ£ΌλŠ” μ˜ˆμ œλ‹€. image

image

또, μƒμ„±μžμ—μ„œ λ‹€λ₯Έ μƒμ„±μžλ₯Ό ν˜ΈμΆœν•  μˆ˜λ„ μžˆλ‹€.
μœ„μž„μ΄λΌκ³  ν•œλ‹€. image