Java7 Java_5주차-(2) 1.join() * 정해진 시간동안 지정한 쓰레드가 작업하는 것을 기다린다. * 괄호안 시간을 지정하지 않으면 지정한 쓰레드의 작업이 끝날 때까지 기다린다. * join은 static형이 아니라 특정 쓰레드를 지정 할 수 있다. * 밑에 코드를 보면 Main쓰레드는 thread의 작업 종료전까지 기다려서 5초 지난 순간 "체크"출력하고 "소요시간 5.0003" 출력한다. public class Main { public static void main(String[] args) { Runnable task = () -> { try { Thread.sleep(5000); // 5초 System.out.println("체크"); } catch (InterruptedException e) { e.printStac.. 2023. 10. 17. Java_5주차-(1) 1. Thread 와 Runnable *java에서 제공하는 Thread 클래스를 상속받아 쓰레드를 구현해준다. *run()메소드에 작성된 코드가 쓰레드가 수행할 작업이다 *java에서 제공하는 Runnable 인터페이스를 사용하여 쓰레드를 구현해준다. 1. 싱글 쓰레드 public class Main { public static void main(String[] args) { Runnable task = () -> { System.out.println(Thread.currentThread().getName()); // 쓰레드 이름을 출력 (main출력) for (int i = 0; i < 100; i++) { System.out.print("$"); } }; System.out.println(Threa.. 2023. 10. 16. Java_4주차 1. 오류 vs 예외 *오류는 일반적으로 회복이 불가능한 문제 / 예외는 일반적으로 회복이 가능한 문제 *현실적으로 코드레벨에서 할 수 있는 문제상황에 대한 대응은 “예외처리”에 속한다. 2. 예외의 종류 3. 예외를 직접 정의하기 이미 자바 자체에서 구현해 놓은 예외들이 많이 있는데 어떤 에러 일어났는데 그 예외가 없을시 내가 직접 그 예외를 따로 정의 할 수 있다. ex)↓ 4. throw,throws throws는 그 자리에서 예외처리 하는게 아닌 부른쪽에서 예외 처리 하는거다. 캡처보면 밑에 writeFile() 함수가 있는데 옆에 throws IOException이 있다 (IOException는 여러 예외중 파일관련 예외) 이건 이 함수에서 예외 처리 안하고 이 함수를 호출한곳에서 예외 처리를 .. 2023. 10. 16. Java_3주차-(2) 1. 자식 클래스가 상속 받아 부모 클래스 기능을 사용중인데 부모 클래스가 클래스에 final할시 더 이상 상속 할 수 없어서 부모의 기능 사용 못한다. 부모클래스의 일부 메소드에 final하면 그 메소드는 오버라이딩 할 수 없는 메소드로 변한다. 2. Object 클래스는 java 내 모든 클래스들의 최상위 부모 클래스이다. 따라서 모든 클래스는 object의 메소드를 사용 할 수 있다. 3. 오버라이딩은 부모클래스로부터 상속받은 메소드를 재정의 하는걸 뜻한다 오버라이딩 하기 위한 조건 *선언부가 부모클래스의 메소드와 일치해야 한다. * 접근 제어자를 부모 클래스의 메서드 보다 좁은 범위로 변경할 수 없다. * 예외는 부모 클래스의 메서드 보다 많이 선언할 수 없다. 4. super *super는 부모.. 2023. 10. 13. Java_3주차-(1) 1. 객체는 속성과 행위로 구성이 되어있는데 java에서 속성은 필드,행위는 메소드로 정의한다! 2.다형성은 이미지와 같이 설계도가 있고 A,B가 있는데 A,B를 만들때 비슷하게 만들지만 A,B를 정확히 구현할땐 다르게 구현해서 재정의 한다 [10/30추가]-> 다형성의 의미는 상위 클래스 타입의 참조변수로 하위 클래스의 객체를 참조할 수 있도록 하는 것. 3. 추상화는 객체에 공통되는 부분들은 따로 빼서 모델링(공유 해서 사용?) 한다. ex)클래스에서 공통으로 사용되는 변수 4. 클래스 인스턴스 생성할때 예를들어 Test ts = new Test(); 에서 new Test()의 의미는 Test클래스의 객체를 생성하면서 생성자를 호출한다는 뜻이다!! new 연산자를 통해서 객체가 생성되면 해당 인스턴스.. 2023. 10. 13. Java_2주차 1. 연산자와 피연산자 계산할때 계산의 대상이 되는것이 피연산자 이며,계산의 목적이 되는것이 연산자이다. 연산자=> +,-,*,/등등 피연산자:연산자로 인해 계산되는 값 2. 연산자의 종류↓ 연산자 우선순위는=> 산술 > 비교 > 논리 > 대입 3. 삼항연산자 비교연산자와 항상 함께 쓰인다. 형태는=> 조건 ? 참 : 거짓 ex) ex) int x=3, int y=5이고 int max = (x>y)? x:y; 프린트문으로 max를 출력해보면 x는 y보다 작아서 거짓이니 5가 출력 ( 파이썬은 (참의결과값) if 조건 else (거짓 결과값) ) *삼항 연산자 참거짓 결과값에 문자열 포맷팅 하는 방법은 String.format() 이거다 ex) String check = (num >= 120) ? Stri.. 2023. 10. 12. Java_1주차 1. jvm이란 어느 기기에서나 java를 실행 시킬 수 있는 가상의 기기를 만들어 주는것 (가상의 기기를 만들어주는걸 가상 머신 이라한다) 만약 JVM이 없으면 모바일에서,데스크탑에서 설정들 다 일일이 해줘야한다. 2. java컴파일러는 java파일을 class파일로 변환해주는 작업이다. 컴파일을 하면 바이트 코드로 변환해서 그게 class파일이 된다. 3. JVM 구성 4. java의 놀이터에 대해 *JRE 는 java runtime environment인 자바 실행 환경 이라는걸 뜻한다. 즉 jre는 .class파일만 실행한다. *JDK 는 java development kit인 자바 개발 키트 라는걸 뜻한다.jdk는 .java파일들을 .class파일로 변환해주는 컴파일 기능이 있다. 그리고 코드를.. 2023. 10. 12. 이전 1 다음