Dev-Kyuu
article thumbnail
Chapter 7.1 상속

 

 

πŸ‘ͺ 1. 상속

: λΆ€λͺ¨ 클래슀의 멀버λ₯Ό μžμ‹ ν΄λž˜μŠ€κ°€ λ¬Όλ € λ°›λŠ” 것을 λ§ν•œλ‹€.

: ν”„λ‘œκ·Έλž¨μ—μ„œμ˜ 상속은 μžμ‹ 클래슀 μ„ μ–Έμ‹œ μ–΄λ–€ λΆ€λͺ¨ 클래슀λ₯Ό 상속받을 것인지 κ²°μ •ν•œλ‹€.

 

class child extends Parents {
}

// 닀쀑 상속은 λΆˆκ°€ν•˜μ—¬ 1 μžμ‹ ν΄λž˜μŠ€λŠ” 1μƒμ†λ§Œ κ°€λŠ₯

 

πŸ›Ž2. λΆ€λͺ¨ μƒμ„±μž 호좜

: μžμ‹ 객체λ₯Ό μƒμ„±ν•˜λ©΄, λΆ€λͺ¨ 객체가 λ¨Όμ € μƒμ„±λ˜κ³  κ·Έ λ‹€μŒμ— μžμ‹ 객체가 μƒμ„±λœλ‹€.

: λΆ€λͺ¨ μƒμ„±μžλŠ” μžμ‹ μƒμ„±μžμ˜ 맨 μ²«μ€„μ—μ„œ μƒμ„±λœλ‹€.

 

# λΆ€λͺ¨ 클래슀
public class People {
	public String name;
    public String ssn;
}

public People(String name, String ssn){
	this.name = name;
    this.ssn = ssn;
}


# μžμ‹ 클래슀 
public class Student extends People{
	public int studentNo;
    
public Student(String name, String ssn, int studentNo){
	super(name, ssn);			// λΆ€λͺ¨ μƒμ„±μž 호좜
    this.studentNo = studentNo;
    }
 }

 

 

✏️3. λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©

: λΆ€λͺ¨μ—κ²Œ 상속받은 μžμ‹ ν΄λž˜μŠ€κ°€ μ‚¬μš©ν•˜κΈ°μ— μ ν•©ν•˜μ§€ μ•Šμ„κ²½μš° λ©”μ„œλ“œλ₯Ό μžμ‹ ν΄λž˜μŠ€μ—μ„œ λ‹€μ‹œ μˆ˜μ •ν•΄μ„œ μ‚¬μš©ν•¨

: 이 경우λ₯Ό λ©”μ„œλ“œ μž¬μ •μ˜(=μ˜€λ²„λΌμ΄λ”©) 이라고 함

 

λ©”μ„œλ“œ Overriding κ·œμΉ™
1. λΆ€λͺ¨μ˜ λ©”μ„œλ“œμ™€ λ™μΌν•œ μ‹œκ·Έλ‹ˆμ²˜(λ¦¬ν„΄νƒ€μž…, λ©”μ„œλ“œ 이름, 맀개 λ³€μˆ˜ λͺ©λ‘)을 κ°€μ Έμ•Ό ν•œλ‹€.
2. μ ‘κ·Ό μ œν•œμ„ 더 κ°•ν•˜κ²Œ μž¬μ •μ˜ ν•  수 μ—†λ‹€
( λΆ€λͺ¨ ν΄λž˜μŠ€κ°€ public이면, μžμ‹λ„ Public만 κ°€λŠ₯ν•˜λ‹€λŠ” 뜻)
3. μƒˆλ‘œμš΄ μ˜ˆμ™Έλ₯Ό throws ν•  수 μ—†λ‹€.

 

profile

Dev-Kyuu

@kyuu_ng

ν¬μŠ€νŒ…μ΄ μ’‹μ•˜λ‹€λ©΄ "μ’‹μ•„μš”β€οΈ" λ˜λŠ” "κ΅¬λ…πŸ‘πŸ»" ν•΄μ£Όμ„Έμš”!