==========05-5 생성자
규칙
클래스명과 메소드명이 동일하다, 리턴타입을 정의하지 않는다.
원래 default생성자가 있지만 생성자를 생성하면 안만들어준다.
생성자는 new가 나올때 호출된다.
그러므로 생성자에 입력값을 준다면
new해서 객체를 생성할때 (입력값= 이름을 꼭 넣어주어야 객체 생성이 가능하다.) <-이때 쓰인다.
또한 생성자도 오버로딩이 가능한데 예를 들면 Dog의 이름을 꼭 넣어주는 메소드 하나와,
숫자를 넣었을 경우 그에 해당하는 값이 나왔을때? 로 간단히 표현할 수 있고, 이는 입력값의 type에 따라
그에 해당하는 입력값을 받아야되는 메소드가 따로 호출되는것이다.
생성자 오버로딩과 메소드 오버로딩은 같은 것이라고 생각하면된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package Pack01; public class HouseDog extends Dog { public HouseDog(String name) { this.setName(name); } public HouseDog() { this.setName(name); } public void sleep() { System.out.println(this.name + " zzz in house"); } public void sleep(int hour) { System.out.println(this.name + " zzz in house"+hour+"시간동안잔다."); } public static void main(String[] args) { HouseDog hd = new HouseDog(); hd.setName("happy"); hd.sleep(4); } } | cs |
==========05-6 인터페이스
예를 들면
난 동물원의 사육사이다.
육식동물이 들어오면 난 먹이를 던져준다.
호랑이가 오면 사과를 던져준다.
사자가 오면 바나나를 던져준다.
위처럼 매 동물마다 메소드를 만들어야되는 불편함을 해결해주기 위해 쓴다.
인터페이스부터 시작하기
728x90
'풀스택 > JAVA 정리' 카테고리의 다른 글
(점프투자바 요약) 5장 객체지향 프로그래밍 1 (0) | 2019.02.11 |
---|
댓글