λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
개발 이야기/μˆ˜μ—… λ‚΄μš© 정리

Java - setting, getting μˆ˜μ—… λ‚΄μš© 정리

by 0_0πŸ–€ 2023. 7. 11.
λ°˜μ‘ν˜•

 

0. μ™„μ„± μ½”λ“œ

 

package kr.or.ksmart.a;

// νšŒμ› 관리 클래슀 μ΅œμ’…
public class User {
	// μ „μ—­ λ³€μˆ˜ (global variable = ν•„λ“œ (Field)
	// class block (body) μ•ˆμͺ½κ³Ό method block(body) 밖에 μ„ μ–Έλœ λ³€μˆ˜
	// μœ μ‚¬μš©μ–΄ : ν”„λ‘œνΌν‹° (property)
	
	// private = 클래슀 λ‚΄μ—μ„œλ§Œ μ ‘κ·Ό κ°€λŠ₯ν•œ μ ‘κ·Ό μ œμ–΄μž
	
	private String uid;	
	private String upw;	 
	private String uphone; 
	private char ugender; 
	private int uage; 
	private String ulevel; 

	
	// 1. uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public void setUid(String uid) {	
		this.uid = uid; // μ „μ—­λ³€μˆ˜μ™€ μ§€μ—­λ³€μˆ˜ λͺ…이 μΆ©λŒν•  λ•Œ this ν‚€μ›Œλ“œ μ‚¬μš©
		System.out.println(uid+" <- uid 에 λ‹΄κΈ΄ κ°’");
		System.out.println("uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ");
	}
	
	// 2. uid μ „μ—­λ³€μˆ˜μ— 값을 gettingν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public String getUid() {
		return uid;
	}

	/*
	 * 
	 * 	public User() {
			default μƒμ„±μž λ©”μ„œλ“œ (μž…λ ₯받은 갯수 μ—†λŠ”) μ„ μ–Έ
			μƒλž΅μ΄ κ°€λŠ₯
		}
	 * 
	 * */
	

}

- 좜λ ₯을 μœ„ν•œ AA02 클래슀

package kr.or.ksmart.a;

public class AA02 {

	public static void main(String[] args) {

		// 객체 생성 방법 : 클래슀λͺ… κ°μ²΄μ°Έμ‘°λ³€μˆ˜ = new 클래슀λͺ…();
		User u01 = new User();
		User u02 = new User();

		System.out.println(u01);
		u01.setUid("id001");
		System.out.println(u01.getUid() + "<- getUid 리턴값");	
	}
}

 

1. Setting X

setUid("id001"); 둜 setUid λ©”μ†Œλ“œ λ‚΄ λ§€κ°œλ³€μˆ˜μ— "id001" 값을 λΆˆλŸ¬μ™”μœΌλ‚˜ 

private String uid ν•„λ“œμ— setting λ˜μ§€ μ•Šμ•„ getUidμ—μ„œ uid μ „μ—­λ³€μˆ˜ 값을 리턴해 좜λ ₯μ‹œ

uid에 λ“€μ–΄μžˆλ˜ null값이 좜λ ₯됨

// 1. uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public void setUid(String uid) {	
		System.out.println(uid+" <- uid 에 λ‹΄κΈ΄ κ°’");
		System.out.println("uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ");
	}
	
	// 2. uid μ „μ—­λ³€μˆ˜μ— 값을 gettingν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public String getUid() {
		return uid; // uid에 값이 nullμ΄λ―€λ‘œ 좜λ ₯μ‹œ null 좜λ ₯
	}

 

*** AA02 좜λ ₯λ‚΄μš©

 

 

2. Setting O

1번 μ½”λ“œμ—μ„œ 생긴 λ¬Έμ œλŠ” λ§€κ°œλ³€μˆ˜λ‘œ λ“€μ–΄κ°„ 값을 μ „μ—­λ³€μˆ˜μ— ν• λ‹Ήν•˜μ§€ μ•Šμ•„ μƒκΈ°λŠ” 문제둜

ν•„λ“œ uid에 λ§€κ°œλ³€μˆ˜ a 값을 ν• λ‹Ή(setting) ν•˜λ©° 문제 ν•΄κ²°

AA02 ν΄λž˜μŠ€μ— μžˆλŠ” setUid ν˜ΈμΆœμ‹ 인수 "id001"이 uid에 ν• λ‹Ήλ˜μ–΄ 좜λ ₯λœλ‹€.

// 1. uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public void setUid(String a) {	
		uid = a; // μ „μ—­λ³€μˆ˜ uid에 λ§€κ°œλ³€μˆ˜(μ§€μ—­λ³€μˆ˜) a λ₯Ό ν• λ‹Ή
		System.out.println(uid+" <- uid 에 λ‹΄κΈ΄ κ°’");
		System.out.println("uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ");
	}

 

*** AA02 좜λ ₯λ‚΄μš©

 

 

3. Setting X

λ§€κ°œλ³€μˆ˜λͺ…κ³Ό ν•„λ“œλͺ…이 동일해 μΆ©λŒν•˜μ—¬ 값이 μ œλŒ€λ‘œ μ…‹νŒ…λ˜μ§€ μ•ŠλŠ” 문제 λ°œμƒ

μ’Œλ³€ uid을 ν•„λ“œ uidκ°€ μ•„λ‹Œ μ§€μ—­λ³€μˆ˜ uid둜 인식.

setUid λ©”μ†Œλ“œκ°€ μ‹€ν–‰ 된 ν›„ ν˜ΈμΆœμ‹μ— μžˆλŠ” "id001"이 νœ˜λ°œλ˜μ–΄ μ•„λž˜ getUid λ©”μ†Œλ“œ ν˜ΈμΆœμ‹œμ—λŠ”

κΈ°μ‘΄ μ „μ—­λ³€μˆ˜ uid의 null이 λ‹€μ‹œ 좜λ ₯λœλ‹€.

// 1. uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public void setUid(String uid) {	
		uid = uid;
		System.out.println(uid+" <- uid 에 λ‹΄κΈ΄ κ°’");
		System.out.println("uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ");
	}

 

*** AA02 좜λ ₯λ‚΄μš©

 

 

 

4. Setting O

μ§€μ—­λ³€μˆ˜μ™€ μ „μ—­λ³€μˆ˜λͺ…이 같을 경우 μƒκΈ°λŠ” 좩돌이 문제.

μ „μ—­λ³€μˆ˜ μ•žμ— ν•΄λ‹Ή 객체λ₯Ό μ˜λ―Έν•˜λŠ” this ν‚€μ›Œλ“œλ₯Ό λΆ™μ—¬ 문제λ₯Ό ν•΄κ²°ν•œλ‹€.

μ’Œλ³€μ€ ν•΄λ‹Ή 객체 λ‚΄ uid ν•„λ“œ, μš°λ³€μ€ λ§€κ°œλ³€μˆ˜ uidλ₯Ό μ˜λ―Έν•˜λ―€λ‘œ ν˜ΈμΆœμ‹œ λ§€κ°œλ³€μˆ˜μ˜ "id001"값이 ν•„λ“œ uid에 ν• λ‹Ήλ˜μ–΄

getUid 호좜 κ²°κ³Όκ°€ "id001"둜 좜λ ₯됨.

 

	// 1. uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public void setUid(String uid) {	
		this.uid = uid; // μ „μ—­λ³€μˆ˜μ™€ μ§€μ—­λ³€μˆ˜ λͺ…이 μΆ©λŒν•  λ•Œ this ν‚€μ›Œλ“œ μ‚¬μš©
        // μ’Œλ³€ : 객채 λ‚΄ ν•„λ“œ uid , μš°λ³€ λ§€κ°œλ³€μˆ˜ uid μ˜λ―Έν•˜κ²Œ λœλ‹€.
		System.out.println(uid+" <- uid 에 λ‹΄κΈ΄ κ°’");
		System.out.println("uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ");
	}

 

*** AA02 좜λ ₯λ‚΄μš©

 

 

 

5. Setting X

λŒ€μž…(ν• λ‹Ή) μ—°μ‚°μžλŠ” μš°λ³€μ˜ 값을 μ’Œλ³€μ— λŒ€μž…ν•˜λŠ” μ—°μ‚°μžμ΄λ―€λ‘œ

객채 λ‚΄ μ „μ—­λ³€μˆ˜μ— 값을 λŒ€μž…ν•˜λ €λ©΄ this ν‚€μ›Œλ“œλŠ” μ’Œλ³€μ— λΆ™μ—¬μ€˜μ•Ό 함. 

μš°λ³€μ— 뢙일 경우 μ§€μ—­λ³€μˆ˜ uid에 μ „μ—­λ³€μˆ˜ uid의 값을 λŒ€μž…ν•˜κ² λ‹€λŠ” μ˜λ―Έκ°€ λ˜λ―€λ‘œ

μ „μ—­λ³€μˆ˜ uid의 값은 κ·ΈλŒ€λ‘œ null이 λœλ‹€.

 

// 1. uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ μ„ μ–Έ
	public void setUid(String uid) {	
		uid = this.uid; // μ „μ—­λ³€μˆ˜μ™€ μ§€μ—­λ³€μˆ˜ λͺ…이 μΆ©λŒν•  λ•Œ this ν‚€μ›Œλ“œ μ‚¬μš©
		System.out.println(uid+" <- uid 에 λ‹΄κΈ΄ κ°’");
		System.out.println("uid μ „μ—­λ³€μˆ˜μ— 값을 μ…‹νŒ…ν•˜λŠ” λ©”μ„œλ“œ");
	}

 

*** AA02 좜λ ₯λ‚΄μš©

 

 

 

λ°˜μ‘ν˜•