πŸ’» 곡뢀 기둝/β˜• Java

Java | 좔상 클래슀(Abstract Class)

  • -

ν•˜λ£¨λ₯Ό μ‘°κΈˆμ΄λΌλ„ 더 μ•Œμ°¨κ²Œ μ‚¬μš©ν•˜λ©΄μ„œ 보내야 λΆ€μ§€λŸ°νžˆ 할텐데..

μ‘°λ§Œκ°„ μ›Ή κ²Œμ‹œνŒμ„ λ§Œλ“€μ–΄μ•Όν•œλ‹€.

 

미리 μ˜ˆμŠ΅λ„ ν•΄μ•Όν•˜κ³  μžλ°”μ— λŒ€ν•΄ μ΅μˆ™ν•΄μ Έμ•Όν•  ν•„μš”κ°€ μžˆλ‹€.

λΆ€μ§€λŸ°νžˆ ν•΄λ³΄μž.

 

'μ‹œμž‘μ΄ λ°˜μ΄λ‹€.'

μ•„μ£Ό 쒋은 글이ꡰ..

 

...

 

λ‚œ μ‹œμž‘λ„ μ•ˆν•œ λ“― ν•˜λ‹€..

 

 


 

 

 

[좜처 : μ ν”„ 투 μžλ°”]

 

좔상 ν΄λž˜μŠ€(Abstract Class)

  • μΈν„°νŽ˜μ΄μŠ€μ˜ 역할도 ν•˜λ©΄μ„œ 클래슀의 κΈ°λŠ₯도 가지고 μžˆλŠ” μžλ°”μ˜ λŒμ—°λ³€μ΄ 같은 클래슀
  • 좔상 ν΄λž˜μŠ€λŠ” μ•žμ— abstract ν‘œκΈ°
  • μΈν„°νŽ˜μ΄μŠ€μ˜ λ©”μ†Œλ“œμ™€ 같은 역할을 ν•˜λŠ” λ©”μ†Œλ“œμ—λ„ λ˜‘κ°™μ΄ abstract ν‘œκΈ°

 

Predator7 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μΆ”μƒν΄λž˜μŠ€λ‘œ λ³€κ²½

abstract class Predator7 extends Animal7 { // μΆ”μƒν΄λž˜μŠ€κ°€ 되기 μœ„ν•΄ abstract λ₯Ό ν‘œκΈ°ν•œλ‹€.
	abstract String getFood7(); // λ©”μ†Œλ“œμ—λ„ abstractλ₯Ό μΆ”κ°€ν•œλ‹€.

	void printFood() { // default λ₯Ό μ œκ±°ν•œλ‹€.
		System.out.printf("my food is %s/n", getFood7());
	}

	static int LEG_COUNT7 = 4; // μΆ”μƒν΄λž˜μŠ€μ˜ μƒμˆ˜λŠ” static 선언이 ν•„μš”ν•˜λ‹€.

	static int speed() {
		return LEG_COUNT7 * 30;
	}
}

Predator7 좔상 클래슀λ₯Ό μƒμ†ν•˜λ„λ‘ λ³€κ²½

class Tiger7 extends Predator7 implements Barkable7 {
}

class Lion7 extends Predator7 implements Barkable7 {
}

 

μΈν„°νŽ˜μ΄μŠ€μ™€ 좔상 클래슀의 차이

  • 좔상 ν΄λž˜μŠ€λŠ” μΈν„°νŽ˜μ΄μŠ€μ™€λŠ” 달리 일반 클래슀처럼 κ°μ²΄λ³€μˆ˜, μƒμ„±μž, private λ©”μ†Œλ“œ 등을 κ°€μ§ˆ 수 μžˆλ‹€.
  • private λ©”μ†Œλ“œλŠ” 클래슀 λ‚΄μ—μ„œλ§Œ μ‚¬μš©λ˜λŠ” λ©”μ†Œλ“œλ‘œ λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œ 호좜이 λΆˆκ°€λŠ₯ν•˜λ‹€.

 

 

 


 

 

 

λΉ„μŠ·ν•˜κ²Œ μ‚¬μš©ν•˜λŠ” λ“― ν–ˆμœΌλ‚˜, λͺ…ν™•νžˆ μ‚¬μš©ν•˜κ³  μ•ˆ ν•˜κ³  ν•˜λŠ” 그런 뢀뢄이 μžˆλ‹€.

μΈν„°νŽ˜μ΄μŠ€μ™€ 좔상 클래슀의 차이λ₯Ό ν—·κ°ˆλ¦¬μ§€ 말고 ν•„μš”μ— 맞게 μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜μž.

 

사싀 μ‹€μ‚¬μš©μ— μžˆμ–΄μ„œ 잘 λͺ»ν•  것 같은데,(이미 μžμ‘΄κ°μ€ λ°”λ‹₯으둜..)

 

μ½”λ”© μ‹€λ ₯.. 늘고 μ‹œγ…γ„·γ…,,

 

 

 

μ˜€κ³΅μ™„!

Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.