
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°(Object-Oriented Programming, OOP)μ νλ‘κ·Έλ¨μ κ°μ²΄λ€μ λͺ¨μμΌλ‘ 보λ νλ‘κ·Έλλ° ν¨λ¬λ€μμ
λλ€.
κ°μ²΄μ§ν₯μ΄λ?

μ€μΈκ³μ μ¬λ¬Όμ΄λ κ°λ
μ κ°μ²΄λ‘ λͺ¨λΈλ§νκ³ , μ΄λ¬ν κ°μ²΄λ€ κ°μ μνΈμμ©μ ν΅ν΄ νλ‘κ·Έλ¨μ ꡬννλ λ°©μμ
λλ€.
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°

ν΄λμ€
βκ°μ²΄λ₯Ό μ μν μ€κ³λβ
ν΄λμ€(Class)λ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ κΈ°λ³Έ κ΅¬μ± μμμ
λλ€. ν΄λμ€λ κ°μ²΄μ μ€κ³λ μν μ νλ©°, μ΄λ₯Ό ν΅ν΄ κ°μ²΄λ₯Ό μμ±ν μ μμ΅λλ€.

ν΄λμ€

λ³μμ λ©μλ
β’
λ³μ
β’
λ©μλ
λ³μμ λ©μλ

μΈμ€ν΄μ€
μΈμ€ν΄μ€(Instance)λ ν΄λμ€μμ μμ±λ μ€μ²΄λ‘, νλ‘κ·Έλ¨μμ μ€μ λ‘ λ©λͺ¨λ¦¬μ ν λΉλμ΄ λμνλ κ°μ²΄μ
λλ€.
ν΄λμ€κ° 'μ€κ³λ'λΌλ©΄, μΈμ€ν΄μ€λ κ·Έ μ€κ³λλ₯Ό λ°νμΌλ‘ λ§λ€μ΄μ§ 'μ€μ μ ν'μ΄λΌκ³ λ³Ό μ μμ΅λλ€.
μΈμ€ν΄μ€

μμ±μ
κ°μ²΄κ° μμ±λ λ μλμΌλ‘ νΈμΆλλ νΉλ³ν λ©μλμ
λλ€.
μμ±μμ νΉμ§
μμ±μ

λ©μλ μ€λ²λ‘λ©

λ©μλ μ€λ³΅μ μ

λ©μλ μ€λ²λ‘λ©

this & this( )
this ν€μλ
this & this( )

Getter & Setter λ©μλ
Getterμ Setter λ©μλλ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ ν΄λμ€μ λ©€λ² λ³μμ μ κ·Όνκ³ μμ νκΈ° μν λ©μλμ
λλ€. μ΄λ€μ λ°μ΄ν° μΊ‘μνμ μ 보 μλμ μμΉμ ꡬννλ λ° μ€μν μν μ ν©λλ€.
Getter λ©μλ

κ°μ²΄μ νΉμ νλ‘νΌν° κ°μ λ°ννλ λ©μλμ
λλ€.
Getter & Setter λ©μλ

μμ (Inheritance)
λΆλͺ¨ ν΄λμ€μ μ μλ λ³μμ λ©μλλ₯Ό μμ ν΄λμ€μμ λ¬Όλ €λ°μ μ¬μ¬μ©νλ κ²

μμ

λ©μλ μ€λ²λΌμ΄λ©

λ©μλ μ¬μ μ
λ©μλ μ€λ²λΌμ΄λ©

super & super( )
Javaμμμ super ν€μλ
super ν€μλλ λΆλͺ¨ ν΄λμ€(μμ ν΄λμ€)λ₯Ό μ°Έμ‘°νλ λ° μ¬μ©λ©λλ€.
μ΄ ν€μλλ μ£Όλ‘ μμ κ΄κ³μμ μ¬μ©λλ©° λ κ°μ§ μ£Όμ ννλ‘ μ¬μ©λ©λλ€:
super & super( )

toString() λ©μλ

κ°μ²΄λ₯Ό λ¬Έμμ΄λ‘ νννλ λ©μλ
toString() λ©μλ

μΈμ μ λ¬ λ°©μ
μλ°λ κ°μ μν μ λ¬(Pass by Value) λ°©μλ§μ μ¬μ©ν©λλ€.
β’
κΈ°λ³Έ μλ£ν(Primitive Type): μ€μ κ°μ΄ 볡μ¬λμ΄ μ λ¬λ©λλ€.
μΈμ μ λ¬ λ°©μ

μλ°μ ν΄λμ€ νμ λ³ν
ν΄λμ€ νμ λ³νμ΄λ?
ν ν΄λμ€ νμ
μ κ°μ²΄λ₯Ό λ€λ₯Έ ν΄λμ€ νμ
μΌλ‘ λ³ννλ κ³Όμ μ
λλ€.
ν΄λμ€ νμ
λ³ν

instanceof

instanceof μ°μ°μλ Javaμμ κ°μ²΄κ° νΉμ ν΄λμ€μ μΈμ€ν΄μ€μΈμ§ λλ νΉμ μΈν°νμ΄μ€λ₯Ό ꡬννλμ§ νμΈνλ λ° μ¬μ©λ©λλ€. κ°μ²΄μ νμ
μ λ°νμμ κ²μ¬ν μ μλ λ°©λ²μ μ 곡ν©λλ€.
κΈ°λ³Έ λ¬Έλ²
κ°μ²΄ νμ
νμΈ - instanceof

μΊ‘μν

λ°μ΄ν°(μμ±)μ ν΄λΉ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ©μλ(λμ)λ₯Ό νλμ λ¨μλ‘ λ¬Άλ κ²μ μλ―Έν©λλ€.
μΊ‘μνλ λ°μ΄ν°λ₯Ό μΈλΆλ‘λΆν° 보νΈνκ³ κ°μ²΄μ λ΄λΆ ꡬνμ μ¨κ²¨ μ½λμ μ μ§ λ³΄μμ±μ λμ΄λ λ° μ€μν μν μ ν©λλ€.
μΊ‘μν ꡬν
μΊ‘μν

μΈμ€ν΄μ€ & static
μΈμ€ν΄μ€(Instance)λ?
ν΄λμ€λ₯Ό κΈ°λ°μΌλ‘ μμ±λ κ°μ²΄λ₯Ό μΈμ€ν΄μ€(Instance)λΌκ³ ν©λλ€.
μΈμ€ν΄μ€ & static

final
1. final ν΄λμ€
finalλ‘ μ μΈλ ν΄λμ€λ μμν μ μμ΅λλ€.
final

μΆμ ν΄λμ€
μΆμ

λμμΌλ‘λΆν° 곡ν΅λ νΉμ§μ λ½μλ΄λ κ²μ μλ―Έν©λλ€.
μΆμ ν΄λμ€

μΈν°νμ΄μ€ (Interface)

ν΄λμ€λ€μ΄ μ°Έμ‘°ν μμμ ꡬνν΄μΌνλ μΆμ λ©μλλ₯Ό μ μν μ°Έμ‘° νμ

μΈν°νμ΄μ€

μ€μ²© ν΄λμ€

ν΄λμ€ λ΄λΆμ μ μΈνλ ν΄λμ€

μ€μ²© ν΄λμ€

μ€μ²© μΈν°νμ΄μ€

ν΄λμ€ λ΄λΆμ μ μΈν μΈν°νμ΄μ€
μ€μ²© μΈν°νμ΄μ€(Nested Interface)λ λ€λ₯Έ μΈν°νμ΄μ€λ ν΄λμ€ λ΄λΆμ μ μΈλ μΈν°νμ΄μ€λ₯Ό μλ―Έν©λλ€. μλ°μ κ°μ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μΈμ΄μμ μ½λμ μΊ‘μνμ ꡬ쑰νλ₯Ό μν΄ μ¬μ©λ©λλ€.
μ€μ²© μΈν°νμ΄μ€

μ΅λͺ κ°μ²΄

μ΄λ¦μ΄ μλ κ°μ²΄
μ¦, ν΄λμ€ μ μΈκ³Ό κ°μ²΄ μμ±μ΄ λμμ μ΄λ£¨μ΄μ§λ μΌνμ© κ°μ²΄μ
λλ€.
μ΅λͺ
κ°μ²΄

λ€μ€ μμ

μ¬λ¬ λμμΌλ‘λΆν° λ¬Όλ € λ°λ κ²
β’
ν΄λμ€λ λ€μ€μμ λΆκ°: μλ°μμλ ν΄λμ€κ° μ¬λ¬ ν΄λμ€λ₯Ό λμμ μμλ°μ μ μμ΅λλ€. μ΄λ 'λ€μ΄μλͺ¬λ λ¬Έμ 'λΌκ³ λΆλ¦¬λ μΆ©λ λ¬Έμ λ₯Ό λ°©μ§νκΈ° μν¨μ
λλ€.
β’
μΈν°νμ΄μ€λ λ€μ€μμ κ°λ₯: μΈν°νμ΄μ€λ μ¬λ¬ μΈν°νμ΄μ€λ₯Ό λμμ μμ(extends)ν μ μμ΅λλ€.
λ€μ€ μμ & λ€μ€ ꡬν

ν΄λμ€ νμ μΊμ€ν

λΆλͺ¨ ν΄λμ€, μμ ν΄λμ€ μ¬μ΄μ ν΄λμ€ νμ
μ λ³ννλ κ²
μ’ λ₯
νλͺ© | |
μ
μΊμ€ν
(UpCasting) | μμ κ°μ²΄λ₯Ό λΆλͺ¨ ν΄λμ€ νμ
μΌλ‘ λ³ννλ κ²
|
λ€μ΄μΊμ€ν
(DownCasting) | λΆλͺ¨ κ°μ²΄λ₯Ό μμ ν΄λμ€ νμ
μΌλ‘ λ³ννλ κ²
|
ν΄λμ€ νμ
μΊμ€ν
Load more





