주말
ConstructorPractice 2 3
m2(Member2) 은 그냥 name을 가져올수 있지만
m1(Member) 은 private를 사용하여서 name을 가져오려면
get set 메소드를 통해서 private 해당 변수에 접근
아래코드는 Member 클래스의 일부이다 나머지는 주석을 참고하자
ExtendsPractice
InterfacePractice2-3
- Interface2
<Coffee> 와 관련된 객채만 넣을 수 있는 리스트이다.
Coffee 인터페이스를 구현하고있는 MYStyleCoffe 와 shopStyleCoffe 클래스를 추가하고 있다
위 코드는 toString을 Override로 재정의하여 출력의 폼을 만들었다
그래고 아래에서 toString을 받아서 출력
아래코드는 바로 void coffeeOrder() 메소드에서 출력
- Interface3
클래스 Oracle, MySQL.. 뒤의 implements Connector는 이 클래스가 인터페이스 Connector를 구현하고 있다는 의미다. 그것은 interface Connector 의 맴버인 void connect() 메소드를 클래스 Oracle, MySQLConnector이 반드시 포함하고
있어야 한다는 뜻이다.
extends
사실 extends가 상속의 대표적인 형태이다.
모든 선언/정의를 부모가 하며, 자식은 오버라이딩 할 필요 없이 부모의 메소드/변수를 그대로 사용할 수 있다.
implements
부모는 선언만 하며, 반드시 자식이 정의를 오버라이딩해서 사용한다.
일반클래스에서 인터페이스 구현 가능
월요일 자습
FileExample
1 2 3 4 5 6
FIleExample
배열의 향상된 for문
"for(대입받을 변수정의 : 배열명)" 으로 구성되어있다
imageFiles 배열 항목을 하나씩 fileName 에 대입하여 실행하게 된다
try-catch문
try블록에는 예외가 발생할 수 있는 코드가 위치
try 블록의 코드에서 예외가 발생하면 즉시 실행을 멈추고
catch 블록으로 이동하여 예외처리 코드를 실행
FileExample3
FileOutputStream = 특정 대상 파일로 내용을 write 출력
String msg를 byte로 가져와서 사용
FileExample4
ByteArrayOutputStream = 바이트 계열 데이터를 메모리로 출력하는 기능
FileExample5
fo = new FileOutputStream("절대/상대경로"); : 특정 파일을 만들고
dos= new DataOutputStream(fo); : Java -> file (Output) 으로 만든파일(fo) 로 보내기
fi= new FileInputStream("절대/상대경로");
dis= new DataInputStream(fi); : file -> Java (Input) 으로 파일내용 자바로 보내기
System.out.println(dis.readUnsignedShort());
65535가 나오는 이유 : unsigned(음수없음), short 는 2바이트 따라서 2^16
sign(부호가 있음) 의 1 byte는 , 2^7
unsigned 의 1 byte는 2^8 (부호자리가 필요없어서)
dis.skip(n);
이 자리의( 코드에선 readByte ) byte n개를 스킵 : 3이 스킵된다
FileExample6
BufferedWriter 클래스는 flush를 해주어야 데이터가 최종적으로 출력된다