μλ°
[JAVA] :: μλ° κΈ°μ΄ 6 :: μΈν°νμ΄μ€ (Interface)
π λ Έμ μΌλ‘ 보기 0. μΈν°νμ΄μ€λ? μΈν°νμ΄μ€λ μΌμ’ μ μΆμν΄λμ€λ‘ μΆμλ©μλ, μμλ§ ν¬ν¨ κ°λ₯ π‘ μλ° 8 λΆν° default λ©μλ, static λ©μλλ₯Ό μΈν°νμ΄μ€μ λ©€λ²λ‘ μ¬μ©κ°λ₯ μΆμ ν΄λμ€μ²λΌ new λ₯Ό μ΄μ©ν κ°μ²΄μμ±μ ν μ μλ€. μΈν°νμ΄μ€μ μ μΈκ³Ό μμ interface InterfaceName { } class ClassName implements InterfaceName{ } 1. μΈν°νμ΄μ€λ₯Ό μ°λ μ΄μ κ·Έλ λ€λ©΄ μΆμ ν΄λμ€λ₯Ό μ¬μ©νμ§ μκ³ μΈν°νμ΄μ€λ₯Ό μ°λ μ΄μ κ° λ¬΄μμΌκΉ? μΈν°νμ΄μ€λ μΆμ ν΄λμ€ λ³΄λ€ λ μΆμμ μΈ κ°λ μ΄λ€. μΆμ ν΄λμ€λ ꡬν λ©μλλ ν¬ν¨μ ν μ μμ΄ νμ₯μ κ°λ μ΄λΌλ©΄ μΈν°νμ΄μ€λ ꡬν μ½λκ° μμ΄ κΈ°λ₯ ꡬνμ κ°μ νλ€. μΆμ ν΄λμ€λ λ€μ€μμμ μ§μνμ§..
[JAVA] :: μλ° κΈ°μ΄ 5 :: λ€νμ± / InstanceOf / Abstract Class / Upcasting & Downcasting
λ€νμ±(polymorphism) κ°μ²΄μ§ν₯μμ λ€νμ±μ΄λ "μ¬λ¬κ°μ§ ννλ₯Ό κ°μ§ μ μλ"μ΄λ λ»μ΄λ€. μλ°μμλ μμ ν΄λμ€ νμ μ μ°Έμ‘°λ³μλ‘ νμ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μ°Έμ‘°ν μ μλλ‘ νλ κ²μ΄λ€. class Animal{ void run(){System.out.println("λ¬λ¦¬μ");} } class Cat extends Animal{ void eat(){System.out.println("μΈλ₯΄λ¨Ήμ");} } class Polymorphism{ public static void main(String[] args) { Animal cat = new Cat(); cat.run(); // cat.eat(); error } } μ€μ μμ±λ μΈμ€ν΄μ€λ Cat νμ μ΄μ§λ§ Animal νμ μΌλ‘ μ°Έμ‘°λμλ€. μ΄..
[JAVA] :: μλ° κΈ°μ΄ 4 :: μμ / μ€λ²λΌμ΄λ©(overriding) / IS-A vs HAS-A / κ°μν¨μ
μμ(Inheritance) μμμ΄λ, κΈ°μ‘΄μ μλ ν΄λμ€λ₯Ό μ¬μ¬μ©νμ¬ μλ‘μ΄ ν΄λμ€λ₯Ό μμ±νλ κ²μ΄λ€. μ¦ μμμ λ°λ ν΄λμ€λ μμνλ ν΄λμ€μ λ©€λ²λ³μμ λ©μλλ₯Ό μμλ°λλ€. μμνλ ν΄λμ€ : μμ ν΄λμ€, λΆλͺ¨ ν΄λμ€, base class, super class μμλ°λ ν΄λμ€ : νμν΄λμ€, μμ ν΄λμ€, derived class, sub class κΈ°μ‘΄μ μλ ν΄λμ€λ³΄λ€ λ ꡬ체μ μΈ κΈ°λ₯μ κ°μ§ ν΄λμ€λ₯Ό ꡬνν΄μΌν λ κΈ°μ‘΄ ν΄λμ€λ₯Ό μμμ νκ²λλ€. μμ ν΄λμ€λ λΆλͺ¨ ν΄λμ€μ λ©€λ²λ€μ μμ λ°κ² λμ΄ μμν΄λμ€λ λΆλͺ¨ ν΄λμ€λ₯Ό ν¬ν¨νλ ννκ° λλ€. μμμ μλμ κ°μ΄ extends(νμ₯)λ₯Ό μ¬μ©ν΄ μμ±νλ€. class Child extends Parent{ } extends λ€μλ λ¨ ν..
[JAVA] :: μλ° κΈ°μ΄ 3 :: Static / Singleton Patton / Array / ArrayList
Static μ΄λ? staticμ μ μ μΈ, κ³ μ λμ΄λ μλ―Έλ‘ μ»΄νμΌ λ¨κ³μμ ν΄λμ€λ‘λκ° ν΄λμ€λ₯Ό λ‘λ©ν λ ν¨κ» λ©λͺ¨λ¦¬μ ν λΉλμ΄ νλ‘κ·Έλ¨μ΄ μ’ λ£λ λκΉμ§ μ μ§λλ λ©λͺ¨λ¦¬λ₯Ό λ§νλ€. staticμ ν΄λμ€, Method, μμ λ±κ³Ό ν¨κ» Method Areaμ ν΄λμ€ λ³λ‘ μ μ₯λμ΄ κ΄λ¦¬νλ©° λͺ¨λ μ°λ λκ° κ³΅μ νλ€. μ¦ λͺ¨λ μΈμ€ν΄μ€κ° νλμ μ£Όμλ₯Ό κ°λ¦¬ν€κ³ μμ΄ νλμ κ°μ 곡μ νλ€. static ν€μλλ₯Ό κ°μ§λ λ©μλμ λ³μλ₯Ό ν΄λμ€ λ©μλ, ν΄λμ€ λ³μ νΉμ μ μ νλ, μ μ λ©μλλΌκ³ λΆλ₯Έλ€. static ν€μλκ° λΆμ λ©€λ²λ κ°μ²΄μ μμλ κ²μ΄ μλ ν΄λμ€μ μμλμ΄ μκΈ° λλ¬Έμ΄λ€. μ μ λ©€λ² μ μΈ class Sclass{ static int cVar = 123; //ν΄λμ€ λ³μ μ μΈ λ° μ΄κΈ°ν ..
[JAVA] :: μλ° κΈ°μ΄ 2 :: μμ±μ / μ€λ²λ‘λ© / μ κ·Όμ μ΄μ / μ 보μλ
μμ±μ μμ±μλ ν΄λμ€μ μ μΈλμ΄μλ ν΄λμ€μ λμΌν μ΄λ¦μ κ°μ§κ³ μλ λ©μλμ΄λ€. μμ±μλ κ°μ²΄λ₯Ό μμ±ν λ νΈμΆλλ€. μμ±μμ λ©μλμ νν μ°¨μ΄ λ©μλ μμ±μ ꡬνλΆ returnν λ©μλλͺ (νλΌλ―Έν° 1, νλΌλ―Έν°2,,,) ν΄λμ€λͺ (νλΌλ―Έν° 1, νλΌλ―Έν° 2,,,) ex) int Sum(int a, int b) ClassName(int a, int b) μ΄μ²λΌ μμ±μλ 리ν΄νμ μ¬μ©νμ§ μμΌλ©° ν΄λμ€μ λμΌν μ΄λ¦μ κ°μ§λ€. νλΌλ―Έν°λ₯Ό λ°μ λ©€λ²λ³μμ μ΄κΈ°νλ₯Ό μν΄ μ¬μ©ν μ μμΌλ©° λͺ μμ μΌλ‘ μμ±νμ§ μλλ€λ©΄ μλμΌλ‘ κΈ°λ³Έμμ±μκ° μ 곡λλ€. μ΄λ κ² κΈ°λ³ΈμΌλ‘ μμ±λλ μμ±μλ₯Όμ λν΄νΈ μμ±μλΌκ³ λ λΆλ₯Έλ€. λν΄νΈ μμ±μλ precompile λ¨κ³μμ μΆκ°κ° λλ€. λ§μ½ νλΌλ―Έν°κ° μλ μμ±μλ₯Ό ꡬν..
[JAVA] :: μλ° κΈ°μ΄ 1 :: κ°μ²΄ / ν΄λμ€ / μΈμ€ν΄μ€ / μμ± / ν¨μ / λ©μλ
μλ°λ λνμ μΈ κ°μ²΄μ§ν₯(Objecti Oriented Programming) μΈμ΄μ΄λ€. CμΈμ΄μ κ°μ μ μ°¨μ§ν₯μΈμ΄μ λ€λ₯Έμ μ μλ°λ λͺ¨λ λ°μ΄ν°λ₯Ό κ°μ²΄λ‘ μ·¨κΈνμ¬ κ°μ²΄ μ€μ¬μΌλ‘ μμ±λλ€λ μ μ΄λ€. OOPμ μ₯μ μλ μ½λμ νμ₯μ±κ³Ό μ¬νμ©μ±, μ μ§λ³΄μκ° μ μ°¨μ§ν₯μ λΉν΄ κ°μ λλ μ μ΄ μλ€. μ΄λ¬ν κ°μ²΄λ₯Ό λ§λ€κ³ ꡬμ±νλ κ°λ λ€μ μμ보μ. κ°μ²΄(object) κ°μ²΄λ object, μ‘΄μ¬νλ μ¬λ¬Ό νΉμ κ°λ , λ Όλ¦¬μ κ°μ 무νμ μΈ κ²λ€λ κ°μ²΄λΌ μ μν μ μλ€. μλ₯Ό λ€μ΄ μ¬λ, μ°¨, μ± λ± λ¬Όλ¦¬μ μΌλ‘ μ‘΄μ¬νλ κ²κ³Ό κ°λ μ μΈ μ£Όλ¬Έ, κ³μ° λ±λ κ°μ²΄κ° λ μ μλ€. κ°μ²΄λ κ°κ° λ 립μ μΌλ‘ μ‘΄μ¬νλ©° λ€λ₯Έ κ°μ²΄μ μλ‘ μνΈμμ©μ ν μ μλ€. μλ°μμλ ν΄λμ€μμ μμ±λ λ°μ΄ν°λ₯Ό κ°μ²΄λ‘ μ μνλ€. ν΄λμ€(clas..