2018/07/18 3

자바 다형성, 도형 예제

파일명 : Test3.java package com.test; // 다형성 : 동일한 코드로 다른 기능 실행 // 클래스 Shape 도형 // 부모 // 멤버변수 double area // 면적 저장공간 // 메소드 getArea() return area // 면적구해서 리턴하는 메소드class Shape {double area;double getArea() {return area;}}// 클래스 Circle 원 // 상속 Shape // 멤버변수 정수형 r=5 // 반지름 // 메소드 오버라이딩. 원면적 구해서 리턴하는 메소드class Circle extends Shape {int r=5;@Overridedouble getArea() {area = r * r * 3.14;return area;}}// ..

IT/Java 2018.07.18

자바 다형성, 정적바인딩, 동적바인딩, instanceof

○ 정적바인딩, 동적바인딩●정적바인딩(컴파일시) - 컴파일러가 객체 유무 관계없이 바인딩, 참조변수가 null이어도 컴파일러 오류 없다●동적바인딩(실행시) - 실제 실행시에 jvm이 실제 객체에서 오버라이딩이 있는지 확인하고 바인딩해줌 ○ instanceof 연산자 : 실행시 실제 객체가 어떤 타입인지 확인레퍼런스 instanceof 클래스명 - 레퍼런스 : 참조변수 타입이 아니고, 참조변수가 가지고 있는 객체의 타입 - 클래스명 : 레퍼런스와 같거나, 레퍼런스의 부모이면 true ex) Animal animal = new Puppy(); 일 경우, animal은 Puppy타입이다 파일명 : Test2.java package com.test; class Animal {Animal() {super();}i..

IT/Java 2018.07.18

자바 다형성, 참조형(레퍼런스형) 형변환, 업캐스팅, 다운캐스팅

파일명 : Test1.java package com.test; class Parent {void parentPrn() {System.out.println("parentPrn()");}} class Child extends Parent {void childPrn() {System.out.println("childPrn()");}} public class Test1 { public static void main(String[] args) {// 기본자료형 형변환(호환가능한 자료형 : 숫자형)double d = 3; // int -> double 자동 형변환System.out.println(d);int a = (int) 3.4; // double -> int 강제(명시적) 형변환System.out.printl..

IT/Java 2018.07.18