\
2021.03.29 - [JAVA/JAVA(자바)설치 및 툴 이용(ECLIPSE)] - [JAVA] 자바 설치 및 환경 하기 JDK 1.8 버전
개발 환경
Window 10
JDK 1.8
이클립스 2020_03 버전
ex02.inheritance;
생성 순서
상속 관계에서는 부모가 먼저 생성 되고 자식 이 다음으로 생성된다
메모리에서는 자식의 객체를 생성하면 부모에는 이미 만들어져 있다
형식>
class Super { // 부모 클래스
}
class Sub extends Super { // 자식클래스
}
/*
cf)
-- java.lang package 자동으로 import
-- Object class 자동으로 extends 되고 있음.
> this :자기자신, 객체 생성 될때 그 객체의 시작 주소
this() : 생성자함수의 다른 이름
super : 부모 클래스의 멤버에 접근 할 수 있는 인스턴스
super() : 부모클래스의 생성자함수
Point pt = new Point(); pt와 같은 역할
pt.disp();
*/
매개 변수 x ,y 를 private 이면 상속이 안된다
Point 클래스
x 와 y 값 정의
x =99 , y = 99
package ex02.inheritance;
public class Point {
// 클래스 상속 할때
//매개 변수
//private int x,y; //private 에서 안됨
protected int x,y;
// 보호모드 자손들에게 접근가능
public Point() {// 디폴트 생성자
x = y = 99;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public void disp() {
System.out.println(x+","+y);
}
}
circle 클래스가 porint 클래스 한테 상속 한다
그럼 point에 있는 것을 쓸수가 있다
지금 여기서는 r = 5 라고 만 선언 했다
하지만 아래 코드로 실행 하면 99,99,5
99,99는 어디서 온거일까 ?
Point 클래스에서 상속 된것이다
package ex02.inheritance;
public class Circle extends Point {
private int r;
public Circle() {
r = 5;
}
// public Circle(int x, int y, int r) {
// super(x,y);
// this.r = r;
// }
//
// public Circle(int x) {
// super(x);// 부모의 생성자 함수를 지칭
// r = 10;
// }
public void disp() {
System.out.println(x + ","+y+","+r);
}
}
상속된 Circle 클래스를 생성자 생성 하여 호술 하면
똑같이 같이 나온다
package ex02.inheritance;
public class MainEntry {
public static void main(String[] args) {
Circle c = new Circle();
c.disp();
}
}
2021.04.05 - [JAVA/자바(JAVA)문법] - [JAVA]Constructor (생성자)자바 함수/ this 설명 간단히
참고 자료 생성자 개념
[JAVA] 자바abstractMethod (추상메소드) /abstract Class추상클래스 (1) | 2021.04.05 |
---|---|
[JAVA]자바 overried 매소드 /오버라이드 /자바 toString 사용하기 (0) | 2021.04.05 |
[JAVA]Constructor (생성자)자바 함수/ this 설명 간단히 (0) | 2021.04.05 |
[JAVA]array(배열) 배열 선언 /실습 /자바 코드 예제_01 (0) | 2021.04.01 |
[JAVA]array(배열) 배열 선언 /실습 /자바 코드 예제_02 (0) | 2021.04.01 |