[자바] 데이터의 자료형
- 기본형 : 메모리상의 값 영역에 값 자체가 저장되는 형태
ex) 8가지(숫자, 문자, 논리)
-> 논리형을 제외한 7가지 형은 모두 서로 간에 암묵적, 명시적 형 변환을 지원한다. - 참조형 : 메모리상의 값 영역에 값이 아닌 주소를 다루는 형태
ex ) Class = Custom Type - 참조형(Class)끼리 형변환이 가능한가? : 일반적이고 상식적인 선에서는 불가능합니다.
클래스의 형변환
- 업캐스팅 : super(부모) 클래스의 참조변수가 sub(자식) 클래스의 인스턴스를 가르키도록 형을 변환하는 것
- 클래스 간의 형변환은 원칙적으로 제공하지 않습니다.
- 다만, 두 클래스 간이 상속관계일 때는,다운 캐스팅은 제공하지 않으며, 업캐스팅만 암묵적으로 제공합니다.
- 업캐스팅이 일어나면, 부모로부터 물려받은 pi에 대해서만 접근권한이 생긴다.
- 이 때 ci는 not visible 상태로 바뀐다.
- 업캐스팅이 일어나면 자식에서 확장한 기능은 not visible 상태로 변환되어 부모의 참조변수로 참조 할 수 없다!.
- 단, 추상 메소드는 자식에서 재정의하더라도 부모가 부를 수 있습니다.
<예외> 다운캐스팅을 지원하는 경우
- 원래 만들어졌을 때 자식 객체
- 근데 생성 시에 부모 타입으로 형변환이 일어난 객체에 대해서(업캐스팅)
- 부모 객체로 만든 객체를 다시 자식 객체로 돌릴 수 있다(다운 캐스팅)
- 다만 명시적으로 형변환 해야한다.
'웹 애플리케이션 > 자바' 카테고리의 다른 글
1_10 인터페이스, 디자인 패턴 (0) | 2023.03.20 |
---|---|
1_8 자바 클래스 간 관계(상속) (0) | 2023.03.16 |
1_7 자바 GUI 프로그래밍 (2) | 2023.03.15 |
1_6 자바 UMLet 설치 및 활용 (0) | 2023.03.15 |
1_5 자바 객체지향 실습(회원관리 프로그램) (0) | 2023.03.15 |