記錄

JAVA) 다형성 메모리 구조와 다형성 이점 본문

Computer language/JAVA

JAVA) 다형성 메모리 구조와 다형성 이점

surhommejk 2018. 2. 6. 10:22
class Pbase {

}

class Cbase extends Pbase { // 같은 부모

    String str = "abc";
}

class Dbase extends Pbase { // 같은 부모

}

public class Ex11_Inherit_Poly {
    public static void main(String[] args) {
        Cbase c = new Cbase();
        Pbase p = c;

        c.str = ""; // visible
        p.str = ""; // invisible <-- error
    }
}



부모 클래스로 선언한 변수로는 자식 주소값을 받는다 할지라도

그 주소를 통해서는 부모 클래스 자원만 볼 수 있다


Q) 다형성을 왜 쓰나?

다형성은 부모 타입으로 자식 객체의 주소값들을 받을 수 있다는 특징을 말한다. 이는 반복이나 검색 등을 돌릴때 다양한 자료들을 위해 따로따로 이런 기능수행을 위한 함수를 만들어줄 필요가 없이 다형성을 이용해 설정해둔 부모타입을 이용해서 하나의 함수 및 처리로 모든 data의 핸들링을 할 수 있다는 것을 의미한다. 이것이 다형성을 사용하는 핵심적인 이유라고 할 수 있다.


이것과 연관하여 중요한 것이 계층구조에 대한 파악이다. 사람이 작성한 코드 뿐만 아니라 컬렉션 프레임워크와 같은 것의 인터페이스 계층 구조를 잘 알면 코드를 작성할 때에 다형성을 고려하여 더 효율적이고 유지, 보수가 용이한 코드를 작성할 수 있다.


'Computer language > JAVA' 카테고리의 다른 글

JAVA) String과 주소값  (0) 2018.02.08
JAVA) 예외처리(throw , throws)  (0) 2018.02.08
JAVA) 다운캐스팅과 메모리  (0) 2018.02.07
JAVA) 다차원 배열과 메모리구조  (0) 2018.02.01
JAVA) 리터럴(literal) 이란?  (0) 2018.01.24
Comments