ALOHA CLASS
/
νλ‘κ·Έλλ°
/
Java
/
κ°μ²΄μ§ν₯
Search
Share
Java κ°μ²΄μ§ν₯
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°(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() λ©μλ
κ°μ²΄λ₯Ό λ¬Έμμ΄λ‘ νννλ λ©μλ
ν΄λμ€μ΄λ¦
@
ν΄μμ½λ
ννλ‘ Object ν΄λμ€μ μ μλμ΄ μμ΅λλ€.
μΌλ°μ μΌλ‘, μ€λ²λΌμ΄λ©νμ¬ κ°μ²΄μ λ³μμ μ£Όμ μνλ₯Ό λ¬Έμμ΄λ‘ μΆλ ₯νκΈ° μν΄ μ¬μ©ν©λλ€.
toString() λ©μλ
μΈμ μ λ¬ λ°©μ
μλ°λ
κ°μ μν μ λ¬(Pass by Value)
λ°©μλ§μ μ¬μ©ν©λλ€.
β’
κΈ°λ³Έ μλ£ν(Primitive Type):
μ€μ κ°μ΄ 볡μ¬λμ΄ μ λ¬λ©λλ€.
μΈμ μ λ¬ λ°©μ
μλ°μ ν΄λμ€ νμ λ³ν
ν΄λμ€ νμ λ³νμ΄λ?
ν ν΄λμ€ νμ μ κ°μ²΄λ₯Ό λ€λ₯Έ ν΄λμ€ νμ μΌλ‘ λ³ννλ κ³Όμ μ λλ€.
μλ°μμλ μμ κ΄κ³μ μλ ν΄λμ€ κ°μ νμ λ³νμ΄ κ°λ₯ν©λλ€.
ν΄λμ€ νμ λ³ν
instanceof
instanceof
μ°μ°μλ Javaμμ κ°μ²΄κ° νΉμ ν΄λμ€μ μΈμ€ν΄μ€μΈμ§ λλ νΉμ μΈν°νμ΄μ€λ₯Ό ꡬννλμ§ νμΈνλ λ° μ¬μ©λ©λλ€. κ°μ²΄μ νμ μ λ°νμμ κ²μ¬ν μ μλ λ°©λ²μ μ 곡ν©λλ€.
κΈ°λ³Έ λ¬Έλ²
κ°μ²΄ νμ νμΈ - instanceof
μΊ‘μν
λ°μ΄ν°(μμ±)μ ν΄λΉ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ©μλ(λμ)λ₯Ό νλμ λ¨μλ‘ λ¬Άλ κ²μ μλ―Έν©λλ€.
μΊ‘μνλ λ°μ΄ν°λ₯Ό μΈλΆλ‘λΆν° 보νΈνκ³ κ°μ²΄μ λ΄λΆ ꡬνμ μ¨κ²¨ μ½λμ μ μ§ λ³΄μμ±μ λμ΄λ λ° μ€μν μν μ ν©λλ€.
μΊ‘μν ꡬν
μΊ‘μν
μΈμ€ν΄μ€ & static
μΈμ€ν΄μ€(Instance)λ?
ν΄λμ€λ₯Ό κΈ°λ°μΌλ‘ μμ±λ κ°μ²΄λ₯Ό μΈμ€ν΄μ€(Instance)λΌκ³ ν©λλ€.
μΈμ€ν΄μ€ & static
final
1. final ν΄λμ€
finalλ‘ μ μΈλ ν΄λμ€λ μμν μ μμ΅λλ€.
final
μΆμ ν΄λμ€
μΆμ
λμμΌλ‘λΆν° 곡ν΅λ νΉμ§μ λ½μλ΄λ κ²μ μλ―Έν©λλ€.
μΆμ ν΄λμ€
μΈν°νμ΄μ€ (Interface)
ν΄λμ€λ€μ΄ μ°Έμ‘°ν μμμ ꡬνν΄μΌνλ μΆμ λ©μλλ₯Ό μ μν μ°Έμ‘° νμ
μΈν°νμ΄μ€
μ€μ²© ν΄λμ€
ν΄λμ€ λ΄λΆμ μ μΈνλ ν΄λμ€
μ½λμ λ Όλ¦¬μ κ·Έλ£Ήνμ μΊ‘μνλ₯Ό κ°ννλ λ°©μμΌλ‘ μ¬μ©λ©λλ€.
μ€μ²© ν΄λμ€
μ€μ²© μΈν°νμ΄μ€
ν΄λμ€ λ΄λΆμ μ μΈν μΈν°νμ΄μ€
μ€μ²© μΈν°νμ΄μ€(Nested Interface)λ λ€λ₯Έ μΈν°νμ΄μ€λ ν΄λμ€ λ΄λΆμ μ μΈλ μΈν°νμ΄μ€λ₯Ό μλ―Έν©λλ€. μλ°μ κ°μ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μΈμ΄μμ μ½λμ μΊ‘μνμ ꡬ쑰νλ₯Ό μν΄ μ¬μ©λ©λλ€.
μ€μ²© μΈν°νμ΄μ€
μ΅λͺ κ°μ²΄
μ΄λ¦μ΄ μλ κ°μ²΄
μ¦, ν΄λμ€ μ μΈκ³Ό κ°μ²΄ μμ±μ΄ λμμ μ΄λ£¨μ΄μ§λ μΌνμ© κ°μ²΄μ λλ€.
μ΅λͺ κ°μ²΄
λ€μ€ μμ
μ¬λ¬ λμμΌλ‘λΆν° λ¬Όλ € λ°λ κ²
β’
ν΄λμ€λ λ€μ€μμ λΆκ°
: μλ°μμλ ν΄λμ€κ° μ¬λ¬ ν΄λμ€λ₯Ό λμμ μμλ°μ μ μμ΅λλ€. μ΄λ 'λ€μ΄μλͺ¬λ λ¬Έμ 'λΌκ³ λΆλ¦¬λ μΆ©λ λ¬Έμ λ₯Ό λ°©μ§νκΈ° μν¨μ λλ€.
β’
μΈν°νμ΄μ€λ λ€μ€μμ κ°λ₯
: μΈν°νμ΄μ€λ μ¬λ¬ μΈν°νμ΄μ€λ₯Ό λμμ μμ(extends)ν μ μμ΅λλ€.
λ€μ€ μμ & λ€μ€ ꡬν
ν΄λμ€ νμ μΊμ€ν
λΆλͺ¨ ν΄λμ€, μμ ν΄λμ€ μ¬μ΄μ ν΄λμ€ νμ μ λ³ννλ κ²
μ’ λ₯
ν΄λμ€ νμ μΊμ€ν
Load more