인터페이스란 추상메소드와 상수인변술로만 이루어진 추상 자료형이다예를 들어 스타크래프트유닛이 전부 공격과 스탑이라는 공통된 명령이있다면이 모든걸 인터페이스에 담아서 모두 공통적으로 쓸수있게된다이해할수있게 코드를 작성해보자 이번에도 Animal이라는 인터페이스와 상속하게될 Dog와 Bird라는 클래스를 만들어보자 먼저 인터페이스 자료형인 Animal을 만들었다인터페이스는 추상메소드만이 들어가야하기때문에 먹다 와 움직이다 의 메소드만 선언해보자 Dog에 Animal 인터페이스를 상속시켜보았다eat과 move 메소드는 상속되었지만안에 내용이 없기때문에 오버라이드로 Dog만의 내용을 만들어준다 Bird도 마찬가지로 Bird만의 메소드로 재정의 해준다결과를 출력해보자 지난번에 다형성에서 배운 업캐스팅과 다운..
추상 메소드란 값을 정의하기 애매할때 상속되는 클래스들에게 직접 값을 부여하라고 만들어놓는메소드 입니다.간단하게 Animal이라는 추상클래스를 하나 만들어보자 추상클래스는 최소 하나이상의 추상메소드를 가져야하기에나느 추상메소드로 hunt를 만들어보았다추상메소드는 선언만 가능하기에 안에 기능은 넣지않고이대로 human클래스와 tiger클래스에게 상속을 시켜보았다추상클래스를 그냥 상속하면 빨간줄이 생기는데 이때에 해결방법이 두가지가 있다.첫번째는 자식클래스도 추상클래스로 만들어 버리는 방법이다 그 방법으로human클래스를 만들어보자 위와같이 그냥 추상클래스를 상속하려고하니 빨간줄이뜬다 abstract라는 키워드로 자식클래스도 추상클래스를 만들어줘 해결해보았다 두번째 방법으로 추상클래스의 추상메소드를 오..
다형성을 더욱 이해하기위해 연습문제를 풀어보자인형뽑기기계를 만들어 사자인형,곰인형,에어팟,꽝 중 하나를 뽑게만들도록 해보자나는 조금더 추가해서 랜덤으로 뽑히게만들고한번 뽑을때마다 코인이 소모되며재고 개념도 만들어 재고가 다떨어지면 코인이 다시 환불이 되도록 만들어 보았다. 뽑기클래스들을 상속시킬 부모클래스 Product더보기 package exercise.toy;public class Product { String name; int stock; public void select() { System.out.println(name+"을 뽑으셨습니다!!"); stock--; } }에어팟 클래스더보기package exercise.toy;public c..
다형성을 이해하기위해 이번에도 코드를 작성해보자우선 바텀업방식으로사람과 호랑이의 서로의 공통점을 찾아보자사람과 호랑이는 둘다 걸을수있지만두발로 걷느냐 네발로 걷느냐의 차이점이있다그걸 오버라이드로 수정을 하고 공통점만을 Animal이라는 클래스에 저장을 해보자 우선 움직이는 메소드 mover와 먹는 메소드 eating을 간단하게 만들어 보았다이제 이 메소드들을 Human과 Tiger에게 상속시켜주고 오버라이드로 메소드를 수정해보자 오버라이드를 통해 메소드들을 수정하고 추가해보았다호랑이 클래스도 같은방식으로 수정해보자 이제 다향성을 실험하기위해 Animal이라는 데이터타입으로 human과 tiger의 객체를만들면어떻게 출력이 되는지 알아보도록 하겠다. 애니멀클래스..