추상 메소드란 값을 정의하기 애매할때 상속되는 클래스들에게 직접 값을 부여하라고 만들어놓는메소드 입니다.간단하게 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의 객체를만들면어떻게 출력이 되는지 알아보도록 하겠다. 애니멀클래스..
연관관계를 아직 완벽히 이해하진 못했지만 이해하기 위해서 Student와 Classroom의 연관관계를 한번 살펴보도록 하겠다우선 Student의 클래스부터 만들어보자 너무 복잡하지않게 이름과 나이만 멤버변수로 선언해보았다이제는 Classroom 클래스를 만들어보도록 하자 멤버변수로는 반이름과 Student클래스의 배열타입인 students와 학생수 그리고 최대인원을 30으로 설정해보았다.Classroom 생성자로는 반 이름을 받아오고객체가 생성될때 student의 객체도 배열의크기가 최대학생수만큼 들어가게 생성되도록 만들었다학생번호는 0으로 초기화한다메소드는 학생을 생성하는 메소드를 만들어보자우선 조건문을 활용하여 학생을 만들때 정원이 초과되면 안되기때문에 방어적 ..