0730

μ „ν•˜λ¦¬Β·2024λ…„ 7μ›” 30일

1. Abstract

1) μ •μ˜

(1) μΆ”μƒν΄λž˜μŠ€

πŸ“Œ 객체λ₯Ό 생성할 수 μžˆλŠ”ν΄λž˜μŠ€ == μ‹€μ²΄ν΄λž˜μŠ€

πŸ“Œ 이 ν΄λž˜μŠ€λ“€μ˜ 곡톡적인 ν•„λ“œλ‚˜ λ©”μ†Œλ“œλ₯Ό μΆ”μΆœν•΄μ„œ μ„ μ–Έν•œ 클래슀 == μΆ”μƒν΄λž˜μŠ€

(2) μ‚¬μš©λ²•

πŸ“Œ public abstract void chage();

β‡’ μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ‹ˆκΉŒ μΆ”μƒλ§Œ ν•΄λ‘ 

β‡’ 밑에 Overrriding ν•΄μ•Όν•œλ‹€

2. Interface

1) μ •μ˜

(1) λ‹€ν˜•μ„±

πŸ“Œ 상속을 톡해 λ‹€ν˜•μ„±μ„ κ΅¬ν˜„ν•  수 μžˆμ§€λ§Œ, interfaceλ₯Ό μ΄μš©ν•΄μ„œ λ‹€ν˜•μ„±μ„ κ΅¬ν˜„ν•˜λŠ” κ²½μš°κ°€ 더 λ§Žλ‹€.

(2) μ™œ ν•„μš”ν• κΉŒ?

πŸ“Œ Pure abstract classμ—μ„œ public abstract class λŠ” 계속 abstract 즉, 계속 overridingν•΄μ€˜μ•Ό ν•œλ‹€.

πŸ“Œ interfaceλ₯Ό ν•˜λ©΄ public ks { a(); b(); ~}

πŸ“Œ ν•˜λ‚˜μ˜ interface둜 λ‹€μ–‘ν•œ ν˜•λ³€ν™˜μ΄ κ°€λŠ₯ν•˜

2) ν™œμš©

(1) 선언방법

πŸ“Œ public interface μΈν„°νŽ˜μ΄μŠ€λͺ… { … } //public μ ‘κ·Ό μ œν•œ

πŸ“Œ μ€‘κ΄„ν˜Έ μ•ˆμ—λŠ” public μƒμˆ˜, μΆ”μž₯, λ””ν΄νŠΈ, 정적(), private method, static method μ„ μ–Έν•  수 μžˆλ‹€.

(2) κ΅¬ν˜„λ°©λ²•

πŸ“Œpublic class B implements μΈν„°νŽ˜μ΄μŠ€λͺ… { … }

πŸ“Œ μΈν„°νŽ˜μ΄μŠ€μ˜ 좔상 λ©”μ†Œλ“œλ₯Ό μž¬μ •μ˜ν•œ λ©”μ†Œλ“œκ°€ μžˆλ‹€λŠ” 뜻(Override함)

3) intefaceκ°€ λ‚˜μ˜¨ 이유?

(1) 예 1. μ†Œλ¦¬ν‚€

β‡’ μ†Œλ¦¬ν‚€λŠ” μ†Œλ¦¬λ‚˜λŠ” λͺ¨λ“  λ¬Όκ±΄μ—μ„œ μ‚¬μš©ν•  수 μžˆλ‹€.

(2) λ‚˜μ˜¨ 이유

β‡’ modelingμ‹œ κΈ°λŠ₯ μ •μ˜

β‡’ Rule의 μ •μ˜

(3) μžλ°”λŠ” μ™œ 닀쀑상속을 κΈˆν•˜λŠ”κ°€?

β‡’ (1) name: AλŠ” μ–΄λ–€ name인지 ν—·κ°ˆλ €ν•œλ‹€

β‡’ 10, 20 … 단계 이상이 되면 ν—·κ°ˆλ¦°λ‹€.

β‡’ java λŠ” μ‹¬ν”Œ!!λͺ…ν™•μ„±!!!

(4) κ·ΈλŸ¬λ‚˜ 닀쀑상속 보완 κ°€λŠ₯ν•˜λ‹€!

profile
생각없이 μ“°λŠ” 쀑

0개의 λŒ“κΈ€