ThisD05πŸ”°

μ΅œμ„±μ§„Β·2023λ…„ 1μ›” 29일
0

Java

λͺ©λ‘ 보기
9/32

this

1. thisλž€?

  • 자기 μžμ‹ μ„ μ˜λ―Έν•˜λŠ” ν‚€μ›Œλ“œ
  • 클래슀 μ•ˆμ—μ„œ thisλ₯Ό μ‚¬μš©ν•˜μ—¬ "μžκΈ°μžμ‹ "을 ν‘œν˜„ν•œλ‹€.

2. thisλ₯Ό μ‚¬μš©ν•˜μ—¬ μ§€μ—­λ³€μˆ˜μ™€ λ©€λ²„λ³€μˆ˜ κ΅¬λΆ„ν•˜κΈ°

  • λ©€λ²„λ³€μˆ˜μ™€ μ§€μ—­λ³€μˆ˜κ°€ λ™μΌν•œ μ΄λ¦„μœΌλ‘œ 곡쑴할 경우,
    μœ νš¨μ„±μ˜ λ²”μœ„κ°€ μž‘μ€ λ³€μˆ˜κ°€ μš°μ„ μ μœΌλ‘œ μΈμ‹λœλ‹€.
class User{
	String name; // λ©€λ²„λ³€μˆ˜

	public void setName(){
		String name;		//μ§€μ—­λ³€μˆ˜
		name = "μžλ°”μ‚¬μš©μž";
		this.name = "λ©€λ²„μžλ°”";  //λ©€λ²„λ³€μˆ˜μ— 할당됨
	}
}

3. thisλ₯Ό μ‚¬μš©ν•˜μ—¬ νŒŒλΌλ―Έν„°μ™€ λ©€λ²„λ³€μˆ˜ κ΅¬λΆ„ν•˜κΈ°

  • νŒŒλΌλ―Έν„°λ„ ν•΄λ‹Ή λ©”μ„œλ“œ μ•ˆμ—μ„œλ§Œ μœ νš¨ν•œ μ§€μ—­λ³€μˆ˜μ˜ 일쒅이닀.
  • νŒŒλΌλ―Έν„°λ₯Ό μ‚¬μš©ν•˜μ—¬ λ©€λ²„λ³€μˆ˜μ˜ 값을 κ°„μ ‘μ μœΌλ‘œ μ„€μ •ν•˜κ³ μž ν•  경우,
    λ³€μˆ˜μ˜ 이름을 μ„œλ‘œ λ‹€λ₯΄κ²Œ μ‚¬μš©ν•˜λŠ” 것 λ³΄λ‹€λŠ” 이름은 λ™μΌν•˜κ²Œ μ§€μ •ν•˜κ³ 
    this ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ©€λ²„λ³€μˆ˜μ™€ νŒŒλΌλ―Έν„°λ₯Ό κ΅¬λ³„ν•˜λŠ”κ²ƒμ΄
    javaμ–Έμ–΄μ˜ 일반적인 처리 방식이닀.
  • λͺ¨λ“  λ©€λ²„λ³€μˆ˜ μ•žμ—μ„œλŠ” this ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ©€λ²„λ³€μˆ˜μž„μ„ μ§κ΄€μ μœΌλ‘œ
    ν‘œμ‹œν•˜λŠ”κ²ƒμ΄ μ†ŒμŠ€μ½”λ“œμ˜ 가독성을 μœ„ν•˜μ—¬ λ°”λžŒμ§ν•˜λ‹€.
class User{
	String name;   //λ©€λ²„λ³€μˆ˜
							
	public void setName(Srtring name){ //μ§€μ—­λ³€μˆ˜
		this.name = name;
		//λ©€λ²„λ³€μˆ˜ = μ§€μ—­λ³€μˆ˜
		
	}

}

4. thisν‚€μ›Œλ“œλ₯Ό ν™œμš©ν•œ λ©€λ²„λ³€μˆ˜μ™€ λ©”μ„œλ“œμ˜ μ ‘κ·Ό

  • λ©€λ²„λ³€μˆ˜λŠ” μ§€μ—­λ³€μˆ˜μ™€ κ΅¬λ³„ν•˜κΈ° μœ„ν•˜μ—¬ 가급적 thisλ₯Ό ν†΅ν•˜μ—¬ μ ‘κ·Ό
  • λ©”μ„œλ“œμ— μ ‘κ·Όν•  λ•Œ this ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 ν•„μˆ˜μ μΈ 것은 μ•„λ‹ˆλ‹€.
profile
λ§ˆλΆ€λ¦¬μž…λ‹ˆλ‹€

0개의 λŒ“κΈ€