Java νλ‘κ·Έλλ° μΈμ΄
κ°μ²΄λ₯Ό μ¬μ©νμ¬ μ»΄ν¨ν°μκ² λͺ
λ Ήμ 보λ΄λ λ¬Έμ 체κ³
κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° μΈμ΄
Javaλ κ°μ₯ μΈκΈ°μλ νλ‘κ·Έλλ° μΈμ΄ μ€ νλμ΄λ©°, μΉ μ ν리μΌμ΄μ
, λͺ¨λ°μΌ μ ν리μΌμ΄μ
, λ°μ€ν¬ν± μ ν리μΌμ΄μ
, κ²μ, λ°μ΄ν°λ² μ΄μ€ μ°κ²°, κ·Έλ¦¬κ³ κΈ°ν λ§μ κ²λ€μ κ°λ°νλ λ° μ¬μ©λ©λλ€. μ΄λ₯Ό μν΄ Java κ°λ°νκ²½μ μ€μΉνλ κ²μ νμμ μ
λλ€.
κ°μ²΄
μμ±κ³Ό κΈ°λ₯μ κ°μ§ λμ
β’
λ‘λ΄, μλμ°¨, λλ¬Ό, νμ, μ μλ, κ³Όλͺ© λ±
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μΈμ΄ (OOP)
νμ€ μΈκ³μ κ°μ²΄(Object)λ₯Ό λͺ¨λΈλ§νκ³ , μ΄λ¬ν κ°μ²΄λ€ κ°μ μνΈμμ©μ κΈ°λ°μΌλ‘ νλ‘κ·Έλ¨μ μ€κ³νλ νλ‘κ·Έλλ° ν¨λ¬λ€μ
νΉμ§
νΉμ§ | μ€λͺ
|
μΊ‘μν (Encapsulation) | κ΄λ ¨λ λ°μ΄ν°μ λ©μλλ₯Ό νλμ λ¨μλ‘ λ¬Άμ΄ μΊ‘μν. μ 보 μλμ ν΅ν΄ κ°μ²΄ λ΄λΆμ ꡬνμ μΈλΆμ κ°μΆκ³ νμν λΆλΆλ§μ 곡κ°νμ¬ λͺ¨λμ±μ λμ. |
μμ (Inheritance) | μ΄λ―Έ μ‘΄μ¬νλ ν΄λμ€μ νΉμ±κ³Ό λμμ μλ‘μ΄ ν΄λμ€κ° μμλ°μ μ¬μ¬μ© κ°λ₯. μ½λμ μ¬μ¬μ©μ±κ³Ό κ³μΈ΅ ꡬ쑰λ₯Ό μ 곡νμ¬ μ μ§λ³΄μλ₯Ό μ©μ΄νκ² ν¨. |
λ€νμ± (Polymorphism) | κ°μ μ΄λ¦μ λ©μλλ μ°μ°μκ° λ€λ₯Έ λ°μ΄ν° νμ
μ λν΄ λ€λ₯΄κ² λμ. μ€λ²λ‘λ©κ³Ό μ€λ²λΌμ΄λ©μ ν΅ν΄ ꡬνλλ©°, μ½λμ μ μ°μ±κ³Ό μ¬μ¬μ©μ±μ μ¦κ°μν΄. |
μΆμν (Abstraction) | 볡μ‘ν μμ€ν
μμ ν΅μ¬ κΈ°λ₯μλ§ μ΄μ μ λ§μΆκ³ λΆνμν μΈλΆ μ¬νμ μ¨κΈ°λ κ². ν΄λμ€μ μΈν°νμ΄μ€λ₯Ό ν΅ν΄ μΆμνλ₯Ό ꡬννμ¬ μ½λμ κ°λ
μ±κ³Ό κ΄λ¦¬ μ©μ΄μ±μ ν₯μ. |
ν΄λμ€μ κ°μ²΄ | ν΄λμ€λ κ°μ²΄λ₯Ό λ§λ€κΈ° μν ν
νλ¦ΏμΌλ‘, κ°μ²΄λ ν΄λμ€μ μΈμ€ν΄μ€. ν΄λμ€λ μμ±κ³Ό λ©μλλ₯Ό μ μνλ©°, κ°μ²΄λ μ΄λ₯Ό μ΄μ©νμ¬ λμ. |
λ©μμ§ ν¨μ± | κ°μ²΄ κ°μ μνΈμμ©μ λ©μμ§ μ λ¬μ ν΅ν΄ μ΄λ£¨μ΄μ§. κ°μ²΄λ λ€λ₯Έ κ°μ²΄μκ² λ©μμ§λ₯Ό 보λ΄κ±°λ λ°μ μ²λ¦¬ν¨μΌλ‘μ¨ νλ ₯. |
λμ λ°μΈλ© | μ€ν μκ°μ κ°μ²΄μ λ©μλκ° μ΄λ€ κ²μ νΈμΆν μ§λ₯Ό κ²°μ . λ€νμ±κ³Ό κ΄λ ¨μ΄ μμΌλ©°, μ€ν μ€μ κ°μ²΄μ νμ
μ λ°λΌ μ μ ν λ©μλκ° νΈμΆλ¨. |
μ’ λ₯
1.
Java: κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ κ°μ‘°νλ μΈμ΄λ‘, νλ«νΌ λ
립μ μΈ νΉμ§μ κ°μ§κ³ μμ΅λλ€. Javaλ λκ·λͺ¨ μμ© νλ‘κ·Έλ¨ λ° λͺ¨λ°μΌ μ ν리μΌμ΄μ
κ°λ°μ λ리 μ¬μ©λ©λλ€.
2.
C++: C μΈμ΄λ₯Ό κΈ°λ°μΌλ‘ ν κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° μΈμ΄λ‘, μ μμ€ λ° κ³ μμ€ νλ‘κ·Έλλ° λͺ¨λ κ°λ₯ν©λλ€. κ²μ κ°λ°, μμ€ν
νλ‘κ·Έλλ° λ± λ€μν λΆμΌμμ μ¬μ©λ©λλ€.
3.
C#: Microsoftμμ κ°λ°ν μΈμ΄λ‘, μ£Όλ‘ Windows νλ«νΌμμ μ¬μ©λλ©°, κ²μ κ°λ°μ λ§μ΄ νμ©λλ μΈμ΄ μ€ νλμ
λλ€.
4.
Python: κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μ§μνλ λ€λͺ©μ νλ‘κ·Έλλ° μΈμ΄λ‘, κ°κ²°νκ³ μ½κΈ° μ¬μ΄ λ¬Έλ²μ κ°μ§κ³ μμ΄ λ§μ λΆμΌμμ μ¬μ©λ©λλ€.
5.
Ruby: λμ νμ΄νμ μ§μνλ©° κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ κ°μ‘°νλ μΈμ΄λ‘, μΉ κ°λ° νλ μμν¬μΈ Ruby on Railsμμ λ§μ΄ μ¬μ©λ©λλ€.
6.
Swift: Appleμ΄ iOS λ° macOS μ ν리μΌμ΄μ
μ κ°λ°νκΈ° μν΄ λ§λ μΈμ΄λ‘, κ°λ ₯ν κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° κΈ°λ₯μ κ°μ§κ³ μμ΅λλ€.