본문 바로가기

카테고리 없음

객채


트롬세탁기가100킬로의 빨래 한다~
트롬세탁기가100의 빨래를 탈수한다.
스팩 [이름=트롬, 제조사=LG, 용량=100]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package java_day10;
 
class 스팩 {
    private String 이름;
    private String 제조사;
    private int 용량;
    
    public 스팩() { //디폴트 생성자
        this("no-name","no-company",0);
        
    }
    public 스팩(String 이름, String 제조사, int 용량) { //오버로드 
        this.이름 = 이름;
        this.제조사 = 제조사;
        this.용량 = 용량;
    }
    
    
    
    // souce > Generate constuctor usinf filds
    
    public String get이름() {
        return 이름;
    }
    public void set이름(String 이름) {
        this.이름 = 이름;
    }
    public String get제조사() {
        return 제조사;
    }
    public void set제조사(String 제조사) {
        this.제조사 = 제조사;
    }
    public int get용량() {
        return 용량;
    }
    public void set용량(int 용량) {
        this.용량 = 용량;
    }
    
    //souce > Generate toString
    @Override
    public String toString() {
        return "스팩 [이름=" + 이름 + ", 제조사=" + 제조사 + ", 용량=" + 용량 + "]";
    }
    
    
    
}
    
 
class 세탁기 extends 스팩{
    
    public 세탁기() {} 
    public 세탁기(String 이름, String 제조사, int 용량) {
        //부모클래스의 생성자를 명시적으로 호출
        super(이름, 제조사, 용량);
            
        }
    
    public void 세탁() {
        String 이름 = super.get이름();
        int 용량 = super.get용량();
        System.out.println();
        System.out.println(이름 + "세탁기가" + 용량 + "킬로의 빨래 한다~");
        
    }
    
    public void 탈수() {
        String 이름= super.get이름();
        int 용량= super.get용량();
        System.out.println(이름+ "세탁기가"+ 용량 +"의 빨래를 탈수한다.");
    }
        
    public void showInfo(){
        // 세탁기에 toString()이 없다면 부모의 toString() 호출
        System.out.println(super.toString());
    }
}
    
 
public class setack {
 
    public static void main(String[] args) {
        
        
        세탁기 setac= new 세탁기("트롬", "LG", 100);
        
        
        setac.세탁();
        setac.탈수();
        setac.showInfo();
        
        
        
    }
 
}
cs

 

 

 

 

 

null LGtv 켜기
스피커 볼륨을 올립니다!
스피커 볼륨: 6
스피커 볼륨을 내립니다!
스피커 볼륨: 5
현재 채널은 11입니다
현재 채널은 10입니다
null LGtv 끄기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package java_day10;
 
    class Speaker {
        private int volum= 5;
        
        public void showVolum() {
            System.out.println("스피커 볼륨: " + volum);
            }
        
        public void soundUP() {
            System.out.println("스피커 볼륨을 올립니다!");
            volum++;
            showVolum();
        }
        
        public void soundDown() {
            System.out.println("스피커 볼륨을 내립니다!");
            volum--;
            showVolum();
        }
        
        
    }
 
    class tv {
        private String name;
        private String company;
        
        //private int volum= 5;
        private Speaker speaker;
        
        private int channel= 10;
        
        
        public tv() { //디폴트생성자
            this("테리비","대한전선"); // 널포인트가 되면 안되니까 뭐라도 집어넣어줌
        }
    
    public tv(String name, String company) {
        this.name= name;
        this.name= company;
        speaker=new Speaker();
        
        }
        
    public void turnOn() {
        System.out.println(company + " " +name + "tv 켜기");
}
    public void turnOff() {
        System.out.println(company + " " +name + "tv 끄기");
    }
    public void volumUP() {
        speaker.soundUP();
    }
    
    public void volumDown() {
        speaker.soundDown();
    }
    
    public void channelUP() {
        channel++;
        System.out.println("현재 채널은 " + channel+"입니다");
    }
    public void channelDown() {
        channel--;
        System.out.println("현재 채널은 " + channel+"입니다");
    }
}
 
public class Day10Ex02 {
 
    public static void main(String[] args) {
        
        tv tv = new tv("올레드","LG");
        tv.turnOn(); // LG 올레드 TV 켜기
        tv.volumUP(); // 현재 볼륨 레벨은 6입니다.
        tv.volumDown(); //현재 볼륨 레벨은 5입니다.
        tv.channelUP(); // 11번 방송 보기
        tv.channelDown(); // 10번 방송 보기
        tv.turnOff(); // lg 올레드 tv 끄기
 
    }
 
}
    
cs

 

 

 

 

 

할배가 나팔을 분다

아베가 나팔을분다 ㅃ ㅣ- 
손자가 나팔을 분다 ㅏ ㅏ ㅏ
손자가 나팔을 분다 ㅏ ㅏ ㅏ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package java_day10;
 
    class 할배 {
        public void 나팔() {
            System.out.println("할배가 나팔을 분다");
        }
    }
    
    // is A 관계가 된다.
    class 아베 extends 할배 { //할배를 상속받은아베
        @Override
        public void 나팔() {
            System.out.println("아베가 나팔을분다 ㅃ ㅣ- ");
        }
        
    }
 
    
    // is A관계 
    class 손자 extends 아베 {
        @Override
        public void 나팔() {
            System.out.println("손자가 나팔을 분다 ㅏ ㅏ ㅏ");
        }
    }
 
 
public class Day10Ex03 {
 
    public static void main(String[] args) {
        할배 hal= new 할배();
        hal.나팔();
        
        hal= new 아베();
        hal.나팔();
        
        hal= new 손자();
        hal.나팔(); // 마지막에 손자를 집어넣었으므로 손자나팔
        
        // 모든 클래스는 Object 묵시적으로 상속 받는다.
        Object obj = hal;
        //부모클래스에 선언되지 않은 자손의 멤버는 호출할 수 없다.
        // 자손으로 형변환(캐스팅)하면 호출 가능하다.
        ((할배)obj).나팔();
        
    }
    
    
    public static void test(String[] args) {
        
        할배 halbe= new 할배();
        아베 abe = new 아베();
        손자 sonja= new 손자 ();
        
        System.out.println(sonja instanceof 손자);
        System.out.println(sonja instanceof 아베);
        System.out.println(sonja instanceof 할배);
        
        System.out.println(halbe instanceof 손자);
        System.out.println(halbe instanceof 아베);
        System.out.println(halbe instanceof 할배);
 
    }
 
}
    
cs

 

 

 

 

도형의 면적은: 
314.1592653589793
도형의 면적은: 
100
도형의 면적은: 
100

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package java_day10;
 
import java.util.AbstractMap.SimpleImmutableEntry;
 
class Shape {
    protected double res; // protected> 세터 게터 안만들어도됨 
    //오버라이드를 목적으로 선언했다.
 
    public void area() {} // 개념적인것들. 실체가 없다
}
class Circle extends Shape {
    private int r;
 
    public Circle() { // 생성자
        this(1);
}
 
    public Circle(int r) {
        this.r = r;
    }
 
 
    public void setR(int r) {
        this.r = r;
    }
    
    @Override
    public void area() {
        System.out.println(Math.PI * r * r);
    }
}
 
 
 
//Rectangle
class Rectangle extends Shape { 
    private int w;
    private int h;
    public Rectangle() {
        this(1,1);
    }
    
    public Rectangle(int w, int h) {
        this.w = w;
        this.h = h;
    }
    
    public void area() {
        System.out.println(w*h);
    
    
    }
}
 
 
class Triangle extends Shape { 
    private int w;
    private int h;
    public Triangle() {
        this(1,1);
    }
    
    public Triangle(int w, int h) {
        this.w = w;
        this.h = h;
    }
    
    public void area() {
        System.out.println(w*h/2);
    
    
    }
}
 
 
 
public class Day10Ex04 {
 
    static void showShape(Shape shape) { //아래 세개가 공통되는 분모 = shape
        System.out.println("도형의 면적은: ");
        shape.area();
    }
    
    public static void main(String[] args) {
        
        Shape[] arr = { // shape타입 배열 만들기
            new Circle(10), 
            new Rectangle(10, 10),
            new Triangle(10,20)
        }; 
        
        for(int i = 0; i<arr.length; i++) {
            showShape(arr[i]);
            
        }
        
        
 
    }
 
}
cs