// TODO: 부모 클래스
// TODO: 함수(메소드) 오버라이딩
// 함수 : 원의 넓이 구하는 함수 : 반지름(r) 반지름(r) 3.14
double areaCircle(double r) {
System.out.println("부모");
return r r 3.14;
@Override
double areaCircle(double r) {
// TODD:출력
System.out.println("자식");
return r r Math.PI;
}
// TODO: 자식클래스
// TODO: 함수(메소드) 오버라이딩 : 코딩 X => 자동화기능 source 메뉴
// 객체 만들기
//부모 객체
Calculator calculator = new Calculator();
System.out.println(calculator.areaCircle(20));
/// TODO: 자식객체
//TODO: 함수 오버라이딩 : 부모의 함수를 상속받아 그대로 사용하지 않고, 수정해서 사용하는 기능
//TODO: 장점 : 프로그램1(일반클래스) + 프로그램2(실행클래스)
// TODO: 1) 일반클래스 함수의 기능을 변경 : 새로운 함수 작성 => 실행클레스에 알려줌
// TODO: 2) 일반클래스 함수의 기능을 변경 : 기존 함수 내용만 변경
// => 실행클래스는 손대지 않음
Computer computer = new Computer();
System.out.println(computer.areaCircle(20));
// TODO : (참고) final 함수(메소드) :
// 객체의 3요소 : 1)속성(필드) 2) 생성자함수 3) 함수(메소드)
public int speed; // 속도
//final 붙이면 함수 재정의 불가 함수
public void stop() {
System.out.println("차를 멈춤");
speed = 0;
// TODO : (참고) final 클래스 : 상속을 못받게 하는 예악어
// 사용법 : final class 객체명{}
// 공유(전역, 정적) 함수 : static 자료형 함수명(){}
public static void method1(Parent parent) {
// TODO: (참고) instanceof 예약어는 변수에 자식클래스가 있으면 true, 없으면 false
// 사용법 : 변수 instanceof 자식클래스명
if( parent instanceof Child) {
// 강제 자료형 변환
Child child = (Child)parent; // 부모 -> 자식 자료형 변환
System.out.println("자료형 변환 성공");
} else {
System.out.println("실패");
}
}
public static void main(String[] args) {
Parent parent = new Child(); // 다형성
method1(parent); // 결과 보기
}
}
// TODO: 추상클래스
// 사용법 : abstract class 객체명 {}
//추상 함수 : {} 없는 함수, abstract 예악어 사용
public abstract void name();
//TODO : 추상함수가 있는 부모를 상속받으면 반드시 함수 재정의를 해야함
// 다형성 복습 : 부모객체 변수 = 자식객체
// 다형성 복습 : 부모객체 변수 = new 자식생성자함수()
Animal animal;
animal = new Dog();
animal.sound(); // 멍멍
//자식객체 바꾸기
animal = new Cat();
animal.sound(); // 야옹
//부모
//추상 함수 : {} 없는 함수, abstract 예악어 사용
// 추상함수 사용 목적 : 1) 이름을(함수) 강제 할 수 있음 : 표준화 가능
// 2) 여러명이 동시 프로젝트 할때 사용 할 수 있음
public abstract void sound();
// 다형성 복습 : 부모객체 변수 = 자식객체
// 다형성 복습 : 부모객체 변수 = new 자식생성자함수()
// 추상함수 사용 목적 : 1) 이름을(함수) 강제 할 수 있음 : 표준화 가능
// 2) 여러명이 동시 프로젝트 할때 사용 할 수 있음