set 메소드 setTitle : 윈도우창 이름명 setSize : 창사이즈 setBackground(new Color(R,G,B)) : 배경화면 색상 setVisible(true); : true -> 윈도우창 화면 나오게 함 setResizable(false); : 윈도우창 사이즈 조정 / fasle:못함 이벤트 통해 윈도우창 만들기 클래스 생성자에서 먼저 변수선언을 해준다. Button은 단추, TextArea는 텍스트창, TextField는 입력창이다. 버튼에는 "추가"라는 단어를 입력하였다. 각 창들은 위치를 선정해준다. (ex. center->가운데) addActionListener는 위의 ActionListener를 구현하여 이를 통해 사용자가 어떤 행동을 하는 지 캐치할 수 있게 된다. Wi..
Stream 스트림은 데이터를 입출력할 때 형태와 관계없이 모든 데이터를 일련된 흐름으로 전송하는 것이다. 기본스트림은 in, out InputStreamReader는 1byte 스트림은 2byte로 변환해주는 브릿지 스트림이다. System.in은 키보드로 입력한 1바이트의 문자를 담아온다. OutputStreamWriter는 1바이트의 문자를 내보낸다. FileInputStream 파일 읽어오기 FileOutputStream 파일 내보내기 파일 복사 위의 코딩은 메인절에서 작성한다. 원본파일과 대상파일 주소를 입력하는 or과 ds는 파일경로를 입력하면 된다. 원본파일을 내보내고 대상파일에서 받아낼 수 있는 스트림을 선언해주고 while문 내에서 원본파일의 데이터가 없을 때 까지 대상파일이 받아낸다. ..
Thread 스레드는 프로세스 내부에서 실행되는 명령의 모임으로 단일스레드와 다중스레드로 나뉜다. 단일스레드 main 메소드만 사용하여 프로그램 작성(물론 메인 메소드에서 다른 메소드 호출하는 것은 상관없음) 메인 메소드 종료 시 프로그램도 함께 종료된다. 다중스레드 main 메소드 + 다른 메소드에서도 함께 명령이 실행된다. 모든 스레드가 종료되어야 프로그램도 종료된다. 다중스레드를 작성하기 위해선 Thread 클래스를 사용하는 것과 Runnable 인터페이스를 사용하는 2가지 방법이 있다. 두 방법 모두 run() 메소드를 오버라이딩해야 하는 공통점이 있다. Thread 클래스 사용한 스레드 작성 extends를 통해 Thread클래스와 상속관계를 맺어 스레드 기능을 갖추게 된다. 변수를 선언해주고 ..
3주 벌써 국비 학원 다니기 시작한 지 3주가 되었다! 시간이 증말 빠르당 처음엔 학원 다니는 자체가 낯설어서 긴장도 많이 됐었고 하루 종일 앉아서 공부해야 되다 보니 무리해서 몸살로 고생하기도 하였다ㅠㅠ 그래도 이제는 나름 적응이 돼서 어떻게 공부해야 되겠다는 갈피가 잡히고 있다. 오픈마인드로 동기들과 인사도 하며 점점 알아가고 있는 중이다! 전 기수 분들을 보니 서로 친하시던데 우리 반도 나중에 그럴 거라고 생각하니 기대가 되었다 (mbti I에서 E로 변했더니^^,,) 전공자 비전공자 모두 섞여있지만 서로 알려주고 공유하면서 함께 성장하는 우리 반의 분위기가 너무 좋은 것 같다. 나의 부끄러운 블로그를 공유하는 유일한 동기분이 있는데 이 글을 보고 계실지 모르겠지만,, 파이팅 해 봅시다👊 학원 St..
Box 클래스 class Box //T도 String,int처럼 자료형이다. 메인절의 속에 있는 Integer처럼 위의 T로 올라가 자료형을 T에서 Integer로 바꾼다. b1.set 괄호속 10은 int 정수이기 때문에 stack영역인 int가 heap영역인 Integer로 간다. 즉, auto-boxing이다. 기본 타입이 wrapper클래스 변환된다 밑의 b1.get();은 Integer이므로 다시 int에 들어가는 auto-unboxing이 된다. Exception try - catch문을 통해 에러가 나와도 감추는 예외 처리를 할 수 있다. try { 조건문 } catch (Exception e) { System.out.println(e.toString()); } finally { 출력문} t..
ArrayList ArrayList 역시 List 인터페이스를 구현한 것이다. 값을 더하기 위해 lists.add("한국") 이런 식으로 값을 더할 수 있다. ListIterator Iterator 인터페이스를 상속받은 인터페이스 양방향으로 이동 가능하다 hasNext는 순서대로 나오지만 hasPrevious는 역순으로 출력된다. Map Map은 인터페이스이며 Hashtable, HashMap 클래스가 구현한다. Hashtable은 Vector처럼 동기화를 지원하기 때문에 속도가 느리며 HashMap은 ArrayList와 같이 동기화 지원하지 않아 빠르다. Iterator가 없기 때문에 Key의 Set에서 가져온다. Key Key는 중복값을 가질 수 없다 (중복을 허용하지 않는 인터페이스 Set때문) 중..
내부클래스 내부클래스는 총 4가지이다. 1. 클래스 안에 클래스를 두는 이너클래스 2. 메소드 안에 클래스를 두는 로컬클래스 3. static으로 만드는 클래스(중첩) 4. 익명의 클래스인 anonymous 클래스 로 표현할 수 있다. 이너클래스 class Outer { class Inner{ 이에 따라 outer클래스 내 메소드에서 inner클래스의 객체 생성을 할 수 있다. 메인절에서 이너클래스를 나타낼 때에는 먼저 outer의 객체 먼저 생성한 뒤, -> Outer out = new Outer(); 1. out.print(); //외부클래스가 갖고 있는 메소드 통해서 2. Outer.Inner in = out.new Inner(); //다이렉트로 이너클래스 부르는 2가지 방법으로 할 수 있다. Lo..
형변환 자료형, 상속관계 등의 형변환과 달리 클래스간에는 불가능하다 여기에서 b=a;를 했을 시, 각각의 데이터 타입이 다르기 때문에 불가능한 것이다. Upcast 자식인 ob1이 부모인 ob2에 들어가는 것이므로 upcast이다 SuperTest의 변수b는 20, SubTest의 b는 100일 경우, upcast를 기준으로 b의 변수가 달라지는 것을 알 수 있다 특히 메소드 영역은 upcast로 ob1이 ob2로 들어갔어도 자식것으로 출력된다 ob2.hap의 경우, 자식인 ob1이 들어갔기 때문에 자식 기준으로 값이 출력된다. downcast) ob2.print(); -> 부모의 메소드가 출력된다. 하지만 밑의 경우는 downcast로 자식의 메소드가 출력된다. ((SubTest)ob2).print()..
Wrapper 클래스 기본 자료형을 클래스화하여 사용하게 함 자료형은 메소드가 없다=명령어가 없다. 클래스만 메소드 지님 boolean, byte, char, short,int,long,float,double : 자료형 => Boolean,Byte,Character,Short,Integer,Long,Float,Double : 클래스 Auto-Boxing : 자료형 -> 클래스 변환(stack->heap) Auto-unBoxing : 클래스 -> 자료형 변환(heap->stack) num2는 new니까 heap영역에 생성된다 UP/DOWNCAST 상속관계의 형변환 부모 = 자식; -> UPCAST (CAST는 형변환을 의미한다) 자식 = 부모;(X) -> 자식=(자식i)부모; : DOWNCAST (자료형의..