전체 글64 다형성 다형성(polymorphism)interface Predator { (... 생략 ...)}class Animal { (... 생략 ...)}class Tiger extends Animal implements Predator { (... 생략 ...)}class Lion extends Animal implements Predator { (... 생략 ...)}class ZooKeeper { (... 생략 ...)}class Bouncer { void barkAnimal(Animal animal) { if (animal instanceof Tiger) { System.out.println("어흥"); } else if (animal.. 2024. 12. 12. 인터페이스 인터페이스(interface)클래스의 기본 틀을 제공하면서 다른 클래스 사이의 중간 매개 역할을 담당하는 추상 클래스 난 동물원(zoo)의 사육사(zookeeper)이다.육식동물(predator)이 들어오면 난 먹이를 던져준다(feed).호랑이(tiger)가 오면 사과(apple)를 던져준다.사자(lion)가 오면 바나나(banana)를 던져준다. 여기서 '동물이 오면 먹이를 던져준다.'는 행위가 동일하다. class Animal { String name; void setName(String name) { this.name = name; }}class Tiger extends Animal {}class Lion extends Animal {}class ZooKeeper { .. 2024. 12. 7. 생성자 생성자(constructor)메서드명이 클래스명과 동일하고, 리턴 자료형을 정의하지 않는 메서드객체 생성 시 객체의 값을 초기화(설정)한다.(... 생략 ...)class HouseDog extends Dog { HouseDog(String name) { this.setName(name); } void sleep() { System.out.println(this.name + " zzz in house"); } void sleep(int hour) { System.out.println(this.name + " zzz in house for " + hour + " hours"); }}(... 생략 ...) 생성자는 객체가 생성될 때 호출.. 2024. 12. 7. 상속 상속(inheritance)자식 클래스가 부모 클래스의 기능을 그대로 물려받는 것 class Animal { String name; void setName(String name) { this.name = name; }}class Dog extends Animal { // Animal 클래스를 상속한다.}public class Sample { public static void main(String[] args) { Dog dog = new Dog(); dog.setName("poppy"); System.out.println(dog.name); //poppy }} extends 키워드를 사용해 Dog 클래스가 Animal 클래스를.. 2024. 12. 7. 값에 의한 호출과 객체에 의한 호출 class Updater { void update(int count) { count++; }}class Counter { int count = 0; // 객체변수}public class Sample { public static void main(String[] args) { Counter myCounter = new Counter(); System.out.println("before update:"+myCounter.count); Updater myUpdater = new Updater(); myUpdater.update(myCounter.count); System.out.println("after upda.. 2024. 12. 3. 메서드(Method) - 메서드 : 클래스 내의 함수 ex) 믹서기 과일(입력) > 믹서기(메서드) > 과일 주스(출력, 리턴값) - 메서드 사용 이유 반복적으로 행해야하는 일을 다시 사용할 수 있도록 하기 위함이다. int sum(int a, int b) { return a+b; } 위의 메서드는 int형 a와 b를 입력받아 a+b한 값을 반환한다. 이때 return은 메서드 결과 값을 돌려주는 명령어이다. public class Sample { int sum(int a, int b) { return a + b; } public static void main(String[] args) { int a = 3; int b = 4; Sample sample = new Sample(); int c = sample.sum(a, b).. 2023. 3. 26. 이전 1 2 3 4 ··· 11 다음