diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaAnimal.java" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaAnimal.java" new file mode 100644 index 0000000..bccde1f --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaAnimal.java" @@ -0,0 +1,22 @@ +package lec10.java; + +public abstract class JavaAnimal { + + protected final String species; + protected final int legCount; + + public JavaAnimal(String species, int legCount) { + this.species = species; + this.legCount = legCount; + } + + abstract public void move(); + + public String getSpecies() { + return species; + } + + public int getLegCount() { + return legCount; + } +} diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaCat.java" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaCat.java" new file mode 100644 index 0000000..c06e0d1 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaCat.java" @@ -0,0 +1,12 @@ +package lec10.java; + +public class JavaCat extends JavaAnimal { + public JavaCat(String species, int legCount) { + super(species, 4); + } + + @Override + public void move() { + System.out.println("꽁꽁 얼어붙은 한강 위에 고양이가 어쩌구"); + } +} diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaFlyable.java" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaFlyable.java" new file mode 100644 index 0000000..b2104b3 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaFlyable.java" @@ -0,0 +1,7 @@ +package lec10.java; + +public interface JavaFlyable { + default void act() { + System.out.println("파닥 파닥"); + } +} diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaPenguin.java" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaPenguin.java" new file mode 100644 index 0000000..600b594 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaPenguin.java" @@ -0,0 +1,27 @@ +package lec10.java; + +public class JavaPenguin extends JavaAnimal implements JavaSwimable, JavaFlyable{ + + private final int wingCount; + + public JavaPenguin(String species, int legCount) { + super(species, 2); + this.wingCount = 2; + } + + @Override + public void move() { + System.out.println("가자 펭귄"); + } + + @Override + public int getLegCount() { + return super.getLegCount() + this.wingCount; + } + + @Override + public void act() { + JavaSwimable.super.act(); + JavaFlyable.super.act(); + } +} diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaSwimable.java" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaSwimable.java" new file mode 100644 index 0000000..7f48f42 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/JavaSwimable.java" @@ -0,0 +1,7 @@ +package lec10.java; + +public interface JavaSwimable { + default void act() { + System.out.println("어푸 어푸"); + } +} diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/lec10Main.java" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/lec10Main.java" new file mode 100644 index 0000000..93e67a4 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/java/lec10Main.java" @@ -0,0 +1,4 @@ +package lec10.java; + +public class lec10Main { +} diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Animal.kt" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Animal.kt" new file mode 100644 index 0000000..2f46e74 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Animal.kt" @@ -0,0 +1,8 @@ +package lec10.kotlin + +abstract class Animal( + protected val species: String, + protected open val legCount: Int +) { + abstract fun move() +} \ No newline at end of file diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Flyable.kt" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Flyable.kt" new file mode 100644 index 0000000..d7e006d --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Flyable.kt" @@ -0,0 +1,7 @@ +package lec10.kotlin + +interface Flyable { + fun act(){ + println("파닥 파닥") + } +} \ No newline at end of file diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Penguin.kt" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Penguin.kt" new file mode 100644 index 0000000..1fd7980 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Penguin.kt" @@ -0,0 +1,19 @@ +package lec10.kotlin + +class Penguin( + species: String, +) : Animal(species, 2), Swimable, Flyable { + + private val wingCount = 2 + override fun move() { + println("가자 펭귄") + } + + override val legCount + get() = super.legCount + this.wingCount + + override fun act() { + super.act() + super.act() + } +} \ No newline at end of file diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Swimable.kt" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Swimable.kt" new file mode 100644 index 0000000..dceb1e9 --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/Swimable.kt" @@ -0,0 +1,7 @@ +package lec10.kotlin + +interface Swimable { + fun act(){ + println("어푸 어푸") + } +} \ No newline at end of file diff --git "a/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/lec10Main.kt" "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/lec10Main.kt" new file mode 100644 index 0000000..c1010db --- /dev/null +++ "b/\354\226\221\354\212\271\353\257\274/\354\236\205\353\254\270/src/lec10/kotlin/lec10Main.kt" @@ -0,0 +1,5 @@ +package lec10.kotlin + +fun main() { + +} \ No newline at end of file