수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

자바 다형성에 관한 질문 있습니다(소스가 약간 깁니다^^:)

소리

2023.04.01

import java.io.*;
public class f_input implements Serializable{

String name;
String jumin;
String tel;
String addr;
public static transient BufferedReader in;
static
{
in = new BufferedReader(new InputStreamReader(System.in));

}

public f_input() throws IOException
{
System.out.print(name = );
name = in.readLine();

System.out.print(jumin = );
jumin= in.readLine();

System.out.print(tel = );
tel = in.readLine();

System.out.print(addr = );
addr = in.readLine();
}

public void disp()
{
System.out.print(name+\t);
System.out.print(jumin+\t);
System.out.print(tel+\t);
System.out.print(addr+\t);
}}
=================================================================================

import java.io.*;
import java.util.*;
public class f_main
{
public static void main(String args[]) throws IOException,ClassNotFoundException
{
//f_input im = new f_input();//File dir = new File(c:\\f);
//dir.mkdir();
File file = new File(c:\\aaa.txt);

Vector vc = new Vector();

if(file.exists())
{
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(file)));
vc = (Vector)ois.readObject();
ois.close();
}//end of ifwhile(true)
{
System.out.print(1.Input friend information 2.print all friend 3.end= );
int x = System.in.read()-48;
System.in.read();
System.in.read();

if(x == 1)
{
f_input f = new f_input();
vc.add(f);
System.out.println(you have an friend now);

}
else if(x == 2)
{
for(int i = 0; i vc.size();i++)
f_input im = (f_input) vc.elementAt(i); ==에서 에러가 발생합니다.
// im = (f_input)vc.elementAt(i);
im.disp();

}
else if(x ==3)
{
ObjectOutputStream oos =
new ObjectOutputStream(new FileOutputStream(file));

oos.writeObject(vc);
oos.close();
System.exit(0);}}// end of while

}//end of main

}==============

위의 소스는 친구를 벡터에 추가하고 다시 불러들여서 보는하는 기능입니다.
근데 책 보고 그대로 따라 햇는데도 불구하고 오류가 나오고
그리고 이해가 않되는 구분이 있습니다.

vc = (Vector)ois.readObject();
f_input im = (f_input) vc.elementAt(i);

왜 이렇게 하는지 이해를 못하겠습니다.
백터는 그냥 백터로 쓰면 않되는지~~

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 잇힝

    윗님 말씀대로 자바가 제공하는 컬렉션 라이브러리는 최대한의 범용성을 위해 모든 객체를 담을 때 java.lang.Object 타입으로 저장합니다. 이로인해 컬렉션에 담겨 있을 때는 객체의 원래의 타입이 숨겨질 수 밖에 없습니다. 그리고 꺼낼 때는 다운캐스팅을 하여 원래의 객체 타입으로 사용하게 되지요. JavaDoc을 보시면 Vector 클래스가 제공하는 elementAt() 메소드의 리턴 타입이 java.lang.Object임을 확인하실 수 있을겁니다

  • 에다

    위와 같은 작업을 복원화또는 다운캐스팅이라고 합니다.
    소스를 전체적으로 보진 않았지만, 어떤 컬렉션에 데이터를 저장할 때
    잠시동안 모든 객체들의 대모(大母)격인 Object class로 업캐스팅 됩니다.
    업캐스팅(상위 클래스화된다)된 상태로 저장이 됩니다.-- 사실 이것도 다형성입니다.
    그렇게 저장된 데이터를 꺼내어 쓸려고할때는
    저장할 때모습이 아니라 Object형태의 객체가 됩니다.
    이대로 쓸수가 없겠죠..
    그래서 복원화(다운캐스팅)을 해주고 원래

번호 제 목 글쓴이 날짜
2695814 [질문] PDA에서 애플릿이 가능한가요? (1) 봄시내 2025-05-24
2695785 웹 설정 도와줄분 화이트캣 2025-05-23
2695730 갑자기 기억이 안나는데 accesskey 속성.. 빛나라 2025-05-23
2695702 [질문] Java 버전 차이에 의한 오류?!! (2) 검사 2025-05-23
2695672 자바 임베디드 쪽으로 배우고 싶은데요..질문이요.. (1) 뽀그리 2025-05-22
2695647 헉! 이클립스(v3.1)에서 발생되는 널포인트 익셉션? ;;; (3) 아빠몬 2025-05-22
2695586 IFRAME 캐싱 질문 봄나비 2025-05-22
2695498 [질문]실행가능한 jar파일.. 정말 이해가 안가네요... ㅡㅜ;; 터1프한렩 2025-05-21
2695468 자바랑 이클립스에서요.. 스킬 2025-05-21
2695375 Mysql 연동하는 자바 질문있습니다. 아리솔 2025-05-20
2695319 파워포인트 파일을 저장할 수 있을까요? 시윤 2025-05-19
2695289 [질문]Tween 값의 정도를 알고 싶습니다. 타마 2025-05-19
2695238 c 와 c++의 시작 (10) ChocoHoilc 2025-05-18
2695215 탑메뉴의 repeat-x .배경이 두가지에요ㅠ ㅠ 널위해 2025-05-18
2695187 자바스크립트와 자바의 import에 관해서 질문드려요 (1) 무슬 2025-05-18
2695116 테마 문의 (해당 사이트와 같은 테마 혹은 플러그인) Sweet 2025-05-17
2695084 [질문] starDrag()와 같은 함수 만들기 민구 2025-05-17
2695055 폰트 질문드립니다. 할인사이트에 많이 쓰는 굵은 숫자폰트.. (2) 일본녀 2025-05-17
2695025 [개발툴]Jcreator 에 관해서... (5) 에녹 2025-05-16
2695006 BitmapData ..무비클립에 적용 할수 있을까요? (1) 날위해 2025-05-16
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com