본문 바로가기
풀스택/JAVA 정리

(점프투자바 요약) 5장 객체지향 프로그래밍 2

by woohyun22 2019. 2. 11.

==========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

댓글