//
//
///*
//class ArrayUtil{
// public static int [] concat (int[] a, int[] b)
// {
// int c[] = new int [a.length + b.length];
// for(int i=0;i<a.length+b.length;i++)
// {
// if(i<a.length) {
// c[i] = a[i];}
// else
// {
// c[i]=b[i-a.length];
// }
// }
// return c;
// }
// public static void print(int []a) {
// System.out.print("[");
// for(int i=0;i<a.length;i++)
// {
// System.out.print(a[i] + " ");
// }
// System.out.print("]");
// }
//}
//public class Main {
// public static void main(String[] args) {
// int [] array1 = {1,5,7,9};
// int [] array2 = {3,6,-1,100,77};
//
// int [] array3 = ArrayUtil.concat(array1, array2);
//
// ArrayUtil.print(array3);
// }
//}
//
//class Point {
// private int x,y;
// public void set(int x, int y) {
// this.x =x;
// this.y =y;
// }
// public void showPoint() {
// System.out.println("("+x+","+y+")");
// }
//}
//class ColorPoint extends Point{
// private String color;
// public void setColor(String color) {
// this.color = color;
//
// }
// public void showColorPoint() {
// System.out.println(color);
// showPoint();
// }
//}
//public class Main{
// public static void main(String[] args) {
// Point p = new Point();
// p.set(1, 2);
// p.showPoint();
//
// ColorPoint cp= new ColorPoint();
// cp.set(3, 4);
// cp.setColor("red");
// cp.showColorPoint();
// }
//}
//접근지정자
//public 모든 클래스 (=default)
//protected 서브클래스
//private 자신클래스
//
//*/
////class Point {
//// private int x, y;
////}
////
////class ColorPoint extends Point {
//// private String color;
////
////}
////
////class sub extends ColorPoint {
//// sub() {
//// x = 10;
//// }
////}
////
////public class Main {
//// public static void main(String[] args) {
//// Point p = new Point();
//// p.set(1, 2);
//// p.showPoint();
////
//// ColorPoint cp = new ColorPoint();
//// cp.set(3, 4);
//// cp.setColor("red");
//// cp.showColorPoint();
//// }
////}
//
///*
// * 같은 이름의 메소드를 선언
// * 메소드 오버라이딩 (덮어쓰기) 같은 이름, 같은 매개변수 (다른 클래스끼리)
// * 메소드 오버로딩 (같이존재) 같은 이름, 다른 매개변수 (한 클래스 내)
// */
///*
//
//class Point{
// private int x,y;
//
// public void showPoint() {
// System.out.println("오버라이딩 되기 전 부모의 메소드");
// }
//}
//
//class ColorPoint extends Point{
// private String color;
//
// public void showPoint() { //메소드 오버라이딩
// System.out.println("오버라이딩된 자식의 메소드");
// }
// public void showPoint(int x, int y) { //메소드 오버로딩
// //this.showPoint(); //오버라이딩 한 나의 새로운 메소드
// super.showPoint(); //오버라이딩 하기 전 부모의 메소드
// }
//}
//public class Main{
// public static void main(String[] args) {
// ColorPoint cp = new ColorPoint();
// cp.showPoint(10,10);
// }
//}
//*/
//
//abstract class Person{ //추상메소드를 포함한다 -> 추상클래스 (객체생성 x)
// abstract void speak() ; //추상메소드 (내용이 정의되지 않은 메소드)
// void sleep() {
// System.out.println("잠자기");
// }
//}
//class Student extends Person{
// void speak() { System.out.println("안녕하세요 저는 Student입니다");}
//}
//
//class Main{
// public static void main(String[] args) {
// Person p; //레퍼런스 변수 생성 가능
// //p = new Person(); //객체 생성 불가능
// Student s = new Student();
// s.speak();
// s.sleep();
// }
//}
/*
class TV{
private int size;
public TV(int size) {this.size=size;}
protected int getSize() {return size;}
}
class ColorTV extends TV{
private int color;
ColorTV(int size,int color){
super(size);
this.color=color;
}
public void printProperty() {
System.out.println(getSize()+"인치"+color+"컬러");
}
}
public class Main{
public static void main(String[] args) {
ColorTV myTV = new ColorTV(32,1024);
myTV.printProperty();
}
}*/
class TV{
private int size;
public TV(int size) {this.size=size;}
protected int getSize() {return size;}
}
class ColorTV extends TV{
private int color;
ColorTV(int size,int color){
super(size);
this.color=color;
}
public void printProperty() {
System.out.println(getSize()+"인치"+color+"컬러");
}
}
class IPTV extends ColorTV{
private String ip;
IPTV(String ip,int size,int color){
super(size,color);
this.ip=ip;
}
public void printProperty() {
System.out.print("나의 IPTV는 "+ip+"주소의");
super.printProperty();
}
}
public class Main{
public static void main(String[] args) {
IPTV myTV = new IPTV("192.1.1.2",32,1024);
myTV.printProperty();
}
}
public class Main{
public static void main(String[] args) {
IPTV iptv = new IPTV("192.1.1.2"+32,2048);
iptv.printProperty();
}
}