본문 바로가기
[Java] InputStream, OutputStream 의 자식 class 들. 자바, InputStream, OutputStream 의 자식 class 들. InputStream 의 자식 Class 들. ByteArrayInputStream FileInputStream FilterInputStream ObjectInputStream StringBufferInputStream SequenceInputStream PipedInputStream ObjectInputStream DataInputStream OutputStream 의 자식 Class 들. FileOutputStream ByteArrayOutputStream FilterOutputStream PipedOutputStream ObjectOutputStream DataOutputStream bytearrayinputstream,.. 2013. 9. 16.
[Java] Serializable & Externalizable 자바, Serializable & Externalizable Serializable 은 implement 를 해주면 자동으로 object 안에 있는 모든 변수들이 serializable 하게 된다. 물론 primitive type 에 대해서이다. Serializable 을 구현한 클래스에서 다른 object 를 담고 있다면 해당 object 도 serializable 해야 정상적으로 serializable 하게 된다. 만약 변수 중에 serializable 하게 만들고 싶지 않은 것들이 있다면 transient 이라는 키워드를 앞에 붙여주어야 한다. Externalizable 인터페이스는 Serializable 인터페이스의 자식 클래스이다.Serializable 은 object 의 모든 변수들을 자동으로.. 2013. 9. 9.
[Java] 메소드 오버로딩 ( Method Overloading ) 에 대하여. 자바, 메소드 오버로딩 ( Method Overloading ) 에 대하여.. 오버로딩과 함께 볼 오버라이딩 ( Overriding ) 에 대해서도 알아보자. JDK 1.7 ( Java 7 ) 에서는 어떤 기능들이 추가되었는가 궁금해서 책을 빌려보면서 기초부터 한번 정리해보고 있다. 막상 책에서는 generic 도 안 다루고, 1.7 specific 한 정보들도 다루지는 않지만 기초를 한번 되짚어 봐서 좋다. IDE 의 도움으로 점점 뭔가 확고함이 떨어지는 가운데 오늘은 메소드 오버로딩 조건에 대해 간단히 알아보고자 한다. 먼저 간단히 메소드 오버로딩에 대해 말하자면,같은 이름의 함수를 여러번 정의해서 쓰는거다. 물론 이름은 같지만 무언가는 달라야 한다. 우선 오버로딩의 조건부터 보자. 1. 파라미터의 .. 2013. 9. 6.
[Java] BufferedWriter 에 대하여. 자바, BufferedWriter 에 대하여.. BufferedWriter 클래스는 buffer 에 대용을 담고 그 버퍼가 꽉 차면 내용을 쓰는 형태이기 때문에 flush() 함수를 불러주어야 꽉 차지 않은 buffer 안의 내용을 쓰게 된다. 당연히 buffer 의 내용이 꽉 찼을 때는 자동으로 flush 의 기능을 수행해준다. 즉 buffer 내용을 쓴 후에 자동으로 buffer 의 내용을 비워준다는 것이다. Buffer, BufferedWriter, flush, Java, 자바 2013. 9. 4.
[Java] JDBC, Database Clob 이 뭐야? 자바, JDBC, Database Clob 이 뭐야? CLOB 이란 오라클의 필드 타입으로 4GB 의 Text 데이타를 저장할 수 있다. ( 대용량 ) 4GB, CLOB, DATABASE, Java, jdbc, oracle clob, text data, 대용량 text, 오라클, 자바, 필드 타입 2013. 9. 2.
[Java] InetAddress 이야기 자바, InetAddress 이야기 InetAddress 클래스는 특정 IP 주소를 다루기 위해 고안된 class 이다.이 녀석은 factory method 들을 제공하며, 생성자로 만들 수 없다. InetAddress[] getAllByName( String host )InetAddress getByAddress( byte[] addr )addr[0] = (byte) 192addr[1] = (byte) 128addr[2] = (byte) 1addr[3] = (byte) 121InetAddress getByAddress( String host, byte[] addr )InetAddress getByName( String host )InetAddress getLocalHost() addr, factory .. 2013. 8. 22.
[Java] String 에 대한 이야기. 자바, String 에 대한 이야기. Java 를 사용하다 보면 간혹 memory 관리 측면에서 String str = "gamza"; String str2 = "gamza"; 사실 String 도 object 인데, 이런식으로 literal 을 계속 사용하면 메모리 문제가 생기지 않을까? 아니다. Java 의 String literal 의 경우 같은 literal 은 같은 메모리 주소를 가르키게 된다.즉 똑같은 "gamza" 라는 string 은 천만개의 String 에 assign 해도 같은 메모리 주소를 가르키기 떄문에Heap 의 용량이 늘지는 않고, 변수 자체가 차지하는 메모리는 스택쪽만 늘어나게 된다. 만약 다음과 같이 사용하면, 다른 주소에 할당해서 다른 메모리 주소를 가르키게 된다. Stri.. 2013. 8. 22.
[Java] 왜 InputStream 의 read() 는 byte 가 아닌 int 를 반환하는가? 자바, 왜 InputStream 의 read() 는 byte 가 아닌 int 를 반환하는가? byte 는 8bit 로 0~255 까지 표현할 수 있다. 그런데 InputStream 의 read() 를 통해 더 읽어들일 byte 가 없을 경우에는 -1 을 return 하여 더 이상 읽을 값이 없다는 것을 알려줘야 한다. 이 경우 byte 형으로 return 받을 경우 -1 을 포함시킬 수가 없다. 그래서 int 형태를 사용하게 되었다. 1, byte, InputStream, inputstream int return read, inputstream read, inputstream read byte, inputstream read byte return, inputstream read int, iNT, Java.. 2013. 8. 18.
[Java] Interface 에서 몰랐던 사실. 상수 정의. 자바, interface 에서 몰랐던 사실. 상수 정의. 지금까지 자바를 사용하면서 interface 에 상수를 정의한 적이 없어서 interface 에 상수를 정의할 수 있다는 사실을 몰랐다. 사실 interface 에 상수를 정의하는 것은 anti-pattern 이기 때문에 사용하지 않는 것이 맞긴 하지만, 간혹가다 framework 나 library 를 사용할 때 상수가 interface 에 정의된 경우가 있기 때문에 알아두면 좋을 것 같다. interface OnDragListener{ String device = "Mouse";void onDrag();} 위와 같이 상수 정의가 가능하다. interface 의 경우 그냥 변수정의를 해도 자동으로 public static final 이 붙는다. 따.. 2013. 8. 16.
반응형