목록Programming/JAVA (12)
Sio's Programming
아무 값도 가지고 있지 않은 StringBuffer객체를 생성 StringBuffer sb = new StringBuffer(); // 해당 스트링 버퍼에 "hello", 공백, "world"를 차례대로 추가 sb.append("hello"); sb.append(" "); sb.append("world"); // StringBuffer에 추가된 값을 toString()메소드를 이용하여 반환 String str = sb.toString();출력결과 : hello worldStringBuffer가 가지고 있는 메소드들은 대부분 자기 자신, this를 반환 StringBuffer sb2 = new StringBuffer(); StringBuffer sb3 = sb2.append("hello"); if(sb2 ..
자바는 기본적으로 다양한 패키지를 지원 그중에서 가장 중요한 패키지java.lang패키지의 클래스는 import를 하지 않고도 사용할 수 있다.java.lang패키지에는 기본형타입을 객체로 변환시킬때 사용하는 Wrapper클래스가 있다.Boolean, Byte, Short, Integer, Long, Float, Double 클래스모든 클래스의 최상위 클래스인 Object도 java.lang패키지문자열과 관련된 String, StringBuffer, StringBuilder도 모두 java.lang패키지화면에 값을 출력할때 사용했던 System클래스도 java.lang패키지수학과 관련된 Math클래스도 java.lang패키지Thread와 관련된 중요 클래스들이 java.lang패키지이외에도 다양한 클래스..
1. 배열(Array) - 배열의 크기는 한번 정하면, 크기를 변경을 할 수 없습니다. Info[] infoArr = new Info[5]; - 배열 초기화시 메모리에 할당되어 ArrayList보다 속도가 빠릅니다. 2. ArrayList - ArrayList는 크기가 가변적입니다. - 저장하는 데이터 수에 따라서 크기가 변경됩니다. - 데이터 추가는 add(), 삭제는 remove() 를 사용합니다. - 데이터 추가 삭제시 메모리를 재할당하기 때문에 속도가 배열보다 느립니다.
스레드란? 아마도 한 번쯤은 멀티 프로세스라는 말을 들어 본 적이 있을 겁니다. 멀티 프로세스란 컴퓨터가 여러 가지 일을 동시에 하고 있는 것을 뜻합니다. 지금 저의 경우 컴퓨터에서 음악이 나오고, 워드프로그램을 사용하고, 동료한테 무거운 파일을 전송해 주고 있습니다. 이것이 멀티프로세스 입니다. 그럼 스레드(멀티스레드)란 무엇일까요? 위에서 말한 하나의 프로세스에서 다시 여러 가지 일을 하는 것을 뜻 합니다. 예를 들어 파일을 전송하면서 채팅을 하고 있습니다. 동일한 채팅프로그램에서 파일전송과 채팅을 동시에 하고 있는 것 입니다. 채팅 프로그램 프로세스 -> 파일전송 스레드 -> 채팅 스레드 JAVA는 기본적으로 멀티스레드를 지원 하고 있습니다. 스레드는 두 가지 형태로 존재 합니다. 하나는 객체 하나..
입출력(I/O) 란? I/O란? 입력(Input)과 출력(Output)을 뜻 합니다. 컴퓨터한테 입력하는 것은 Input이며, 컴퓨터가 어떤 것을 출력하는 것을 Output이라고 합니다. 자주 사용하는 System.out.println("HelloWorld"); 구문이 바로 Output 입니다. 데이러를 '읽는다' 라고 하면 입력(Input)이라고 생각하시면 되고, 데이터를 '쓴다'라고 하면 출력(Output)이라고 하면 됩니다. Input파일 데이터를 '읽는다'키보드의 데이터를 '읽는다'네트워크상의 데이터를'읽는다' Output파일에 데이터를 ‘쓴다.’모니터에 테이터를 ‘쓴다.(출력)’네트워크상에 데이터를 ‘쓴다.(전송)' JAVA 입출력 API(Input ~ Output~)InputStream, Re..
Map계열의 자료구조는 쉽게 생각해서 지하철에 비치되어 있는 물품 보관함을 생각하면 됩니다. 물품 보관함의 경우 번호가 있지만, 번호가 중요한 것이 아니라, 해당 물품보관함의 키가 중요 합니다. 즉 키만 있으면 키에 해당하는 물품 보관함을 이용할 수 있습니다. Map이 바로 이런 것 입니다.List계열과 달리 인덱스가 없고, 키와 값만 있습니다. 그리고 당연한 얘기지만, 키는 유니크 해야 합니다. 우리가 값을 관리하고자 한다면 키를 이용해서 값을 관리 할 수 있습니다. 123456789101112131415161718192021222324252627HashMap hashMap = new HashMap(); hashMap.put(0, "str0");hashMap.put(1, "str0");hashMa..
자료구조 중 아마도 가장 많이 사용하고 쉽게 사용할 수 있는 자료구조형이 List계열이 아닐까 합니다.List는 배열과 비슷하지만, 배열의 단점을 보완 하였습니다. List는 처음 만들 때 크기를 고정하지 않아도 됩니다ArrayList는 배열과 매우 비슷합니다. 인덱스가 존재하며, 데이터는 중복되어도 상관 없습니다. 인덱스가 가장 중요 합니다12345678910111213141516171819202122ArrayList arrayList = new ArrayList(); //String 타입에 배열arrayList.add("str1"); //add 배열을 추가하는 기능arrayList.add("str2");arrayList.add("str3");arrayList.add("str4");arra..
컬렉션이란? 컬렉션이란, 우리말로 쉽게 말해서 자료구조 입니다. 더 쉽게 말하면 배열 입니다.우리가 배웠던 배열이 아주 훌륭한 자료구조 입니다. 하지만 더욱 훌륭한 자료구조형을 JAVA에서는 많이 준비했습니다. 그리고 우리는 어려운 자료구조형의 내부를 공부할 필요 없이 그냥 사용만 하면 됩니다. JAVA는 고수준 언어 이니까요^^ JAVA도 결국 효과적인 데이터를 처리하기 위한 수단JAVA도 다른 언어와 마찬가지로 결국에는 데이터를 효과적으로 관리하기 위한 언어 입니다.책상을 정리하고, 창고를 정리하고, 책장을 정리하고 등등…. 모두 나중에 우리가 찾고자 하는 물건을 쉽게 찾기 위해서 정리를 합니다.JAVA언어도 마찬가지 입니다. 무수히 많은 데이터를 어떤 형식으로 잘 정리하느냐에 따라 추후..