[JAVA] 스레드 스레드로 쓸려면 run() 메소드로 호출하는 것이 아니라, start() 메소드로 해주어야 함. (비동기적) start() 메소드를 호출하면 run() 함수를 스레드화해서 출력한다. 메인 메소드에서 ThreadClass를 호출해두고, 다시 자신의 작업을 하러 옴. 요로케 바꿔도 결과는 같음. 예를 들어, tc.loop() 를 메인 메소드에서 호출할 경우 loop() 함수는 thread로 돌아가지 않는다. tc.run() 도 마찬가지고이며! tc.start()로 할 경우 Thread로 돌아감! [JAVA] List 순차적으로 삽입돼! sub가 더 길면 list 길이가 더 길어짐. 왜냐하면 가변적인 길이라서! (+) iterator() : Iterator 객체를 반환 ArrayList는 가변길이이므로 list.addAll(sub) 을 하게 되면 list의 길이가 더 늘어나고 추가돼!!! if(list.isEmpty()){ } [JAVA] Generic 명시적 형 변환이 필요 없다. 이렇게 type을 명시해주면! [JAVA] 날짜 API calendar 클래스는 추상클래스라서 객체를 생성하여 사용할 수 없다. 근데 calendar 클래스 내부에 getInstance 메소드를 사용하여 구현할 수 있다. iamjiyoo@naver.com / gmail.com Calendar 사용법! day 에 c.get(Calendar.DAY_OF_MONTH) 로 해도 가능하다. int getActualMaximum -> 그 달의 총일수와 같은 것을 출력함 여기서 calendarField의 값은 Calendar.DAY_OF_MONTH 가장 많이 사용하는 날짜 데이터포맷 M 하나는 한자리 [JAVA] 예외처리 환경 설정에서 발생하는 문제를 에러라고 하고 프로그래밍 상에서 발생하는 문제를 예외라고 한다. try 안에 문장이 남아 있어도 예외가 발생하면 catch로 갑니다. break 만났음에도 불구하고 finally body를 실행한다. 파일 입출력 같은 경우 try/catch를 개발자에게 요구하는 것을 CHECKED EXCEPTION 이라고 함. finally 내부에도 try catch 문이 올 수 있다. [JAVA] final 키워드 final 키워드가 붙은 메소드는 오버라이딩이 불가능. final 키워드가 붙은 클래스는 수퍼 클래스로 만들 수 없다. [JAVA] 인터페이스 인터페이스 ? 다중 상속, 추상 메소드들의 집합 복합기가 스캐너, 팩스, 프린터를 모두 상속받고자 함. 기능들을 모아놓은 집합 - 인터페이스 인터페이스는 인스턴스 객체를 만드는 것이 목적이 아니다. 클래스와 클래스의 상속은 Generalization (실선) , 클래스와 인터페이스는 Realization 인터페이스는 추상 메소드와 상수 형태 ( public static final 형태로 가능하다 ) 생략되어 있음 ( public static final ) 인터페이스는 접근 제한자를 사용하지 않으면 무조건 public이다. 클래스와 멤버 변수는 접근 제한자가 명시하지 않으면 default 임. 하나의 클래스에 인터페이스 키워드 (implements) 클래스 상속 (extends) 함께 사용이 가능하다. ,.. [JAVA] 객체의 형변환 - 대입 연산자를 기준으로 왼쪽과 오른쪽 변수의 자료형이 서로 달랐을 경우 객체 형변환이 발생한다. 그런데 무조건 왼쪽과 오른쪽의 관계가 반드시 상속 관계여야 한다. A obj = new B(); → 에러 발생 하지만! Class B extends A { } 상속 관계인 경우 에러가 발생하지 않음 원래는 Printer p = (Printer) (new LGPrinter()); 이렇게 해주는게 맞는데 오른쪽이 하위 클래스인 경우 (Printer) 을 생략이 가능함. 왜 ? class A{ } class B extends A{ // super() 생략 } new B(); → 하는 순간 A의 공간이 만들어지고, B의 공간이 만들어지고.. 그리고 이 전체를 B로 인식 이미 new B(); 라는 공간에는 A 공간.. 이전 1 2 3 4 5 다음