class Database implements Serializable{
public static void main(String[] args)
.....
이렇게 시작하는 메인 함수가 있는데, 메인함수에는
고객정보를 담는 class, 물건정보를 담는 class, 거래내역정보를 담는 class 이렇게 3 class를 사용해.
근데 database.obj 라는 파일 하나에 정보들을 저장하라고 교수님이 그랬는데..
보통 Serializable 함수를 사용할 때 main 함수에는 사용안하잖아...
보통,
Myclass myObject....
myObject = (MyClass) in.readObject()
이런식으로 사용한다고 들었는데...
어떻게 하는것이 좋을까...
직렬화는 객체에만 해당되는거
아니 그럼 대체 교수는 왜 database.obj 이 파일 하나로만 하라는겨?
메인함수란 꼴리는곳에 테스트용으로 사용해도상관없는것임 하지만 나중엔 지우는게 좋죠. 고객의 정보, 물건정보, 등등 이런건 전부 javabean임. 그리고 database.obj 이건 DAO임. 만약 DAO가 javabean을 사용하면 그 javabean은 DTO임. DTO면 implement serialization을 하는거임. 하지만 여기서 serialization은 무조건필요한건 아니지만 serialization을 함으로서 그 DTO를 byte representation으로 바꾼후 저장을 한다는뜻임. 하지만 개인적으로 매인함수는 펙키지마다 하나씩 만듬. 예를들어 PackageTestPublisher 라고 만들고 여기다 메인함수 만드는거죠.
Myclass myObject.... myObject = (MyClass) in.readObject() 이건 뭔짓하는건진 모르겠지만 느낌상 factory 패턴 구현하려다가 대실패한것같아 보이네요. 자바에서 제일 할짓 못되는게 이쪽 저쪽에 parsing하는거죠. parsing이란 그 object의 inheritance 구조를 없앨수도 있음
Kyle// 컴공 2학년 막 시간한 뉴비한테 너무 어려운 말 하면 못알아들어.....요..
그럼, 각각 클래스마다 implements Serializable 을 한다음에 3개의 클래스가 있으니깐 총 3개의 obj 파일이 나오면 그 obj 파일을 database.obj 파일 하나에 합칠 수 있어?
데이터베이스 객체가 리스트나 딕셔너리 같은건가보지? 그 데이터베이스 객체를 직렬화하면 되겠네
데이터베이스 객채를 따로 표현할 빈을 왜만듬? 그것을 위한 DAO를 만들어야지
그럼 여러개의 객체를 하나의 파일에 직렬화할 방법을 제시해봐
못하면 Kyle 입코더 인증
흐음;; 잘 모르겠는뎅.. 저 입코더 맞음;; ㅈㅅ 해해
괜히 깝쳣네영;; 여기서 \"파일\" 이라는게 뭘말하는건지 잘모르겠음;; 실력이 부족한듯;;; 파일에 직렬화..? .txt파일에 직렬화?..
직렬화의 대상은 code가 아니라 data
나같은 경우 게임만들때 방객체에 접속한 클라이언트 객체 담는 벡터 쑤쎠넣어두고 방객체 쐈었는데 잘 전송됨
으으....고마워 형들!!! 좀더 고민해볼께~~~