2013년 8월 9일 금요일

2013-08-09 [JAVA] 상속, File 읽기쓰기

1.상속










 - 클래스의 상속관계는 위와같다. 어디에 종속되있는 것이아니라 연결되있다고 생각하는  게 좋다. 위에서 C에서 B를 호출하고 B에서 A를 호출한 후
 A실행,B실행,C실행 순서대로 클래스가 실행된다.각 클래스의 생성자에는 super()가 내부적으로 생기게된다. 명시적으로 선언시에 생성자 내부코드의 맨 처음에 실행이 된다.



 상속은 specialization과 Generalization크게 두가지로 나뉜다.

 (1) specialization


 (2) Generalization






 - 개발 실력이 아주 뛰어난 경우 아니고는 (2)번의 Generalization 방법으로 코딩하는 것이 좋다. 상속을 미리 생각하고 개발을 하는 경우 개발이 늦어지고 정체될 수 있다. 그래서 (2)번처럼 아래에서 위쪽으로 코딩을 하는 것이 좋다.



*상속의 문제점!!!
   => 필요없는 기능까지 상속받기 때문에 class 코드가 무거워지는 문제점이 있다.
       그래서 Decorator 패턴을 이용한다!!! 위의 Generalization방식처럼 코딩하는 것과 비슷        하다.

ex)  FileOutputStream out1 = new FileOutputStream("test3.data");
MyFileOutputStream2 out2 = new MyFileOutputStream2(out1);

이 소스에서 두 클래스는 모두 OutputStream의 자식클래스이다. 두 클래스는 직접적인 상속관계가 아니다. 그래서 객체를 생성한 후 파라미터로 넘겨주는 방식으로 필요할 때 서로의 클래스를 이용할 수 있게 한다.






2.File 읽기쓰기


(1) 저장하기





(2) 불러오기



댓글 없음:

댓글 쓰기