캐스팅 (=형변환)

타입을 다른 타입으로 변경하는 것

int number = (int) 2.2;

아스키코드

컴퓨터 통신을 위한 코드표 특수문자 및 알파벳을 숫자에 대응시킴

A -> 65

Z -> 90

a -> 97

z -> 122

암묵적 캐스팅

char character = 'A';
int number = character; // 65

명시적 캐스팅

int number = (int) 3.141592; // 뒤의 소수점은 사라짐

업 캐스팅

하위 클래스를 상위 클래스 타입으로 변환하는 것

class Parent {
    public void run() {
        System.out.println("천천히 달리기");
    }
}

class Child extends Parent {
    @Override
    public void run() {
        System.out.println("빠르게 달리기");
    }
}

Parent child = new Child();
child.run(); // 빠르게 달리기

다운 캐스팅

상위 클래스를 하위 클래스 타입으로 변환하는 것


class Parent {
    public void run() {
        System.out.println("천천히 달리기");
    }
}

class Child extends Parent {
    @Ovrride
    public void run() {
        System.out.println("빠르게 달리기");
    }
}

Parent parent = new Child();
Child child = null;
if (parent instanceof Parent) {
    child = (Child) parent;
}
child.run(); // 빠르게 달리기

댓글남기기