본문 바로가기

Programming/Java17

[Java] Thread 쓰레드 싱글 스레드 멀티 쓰레드 Run package com.kh.part01_threadTest.run; import com.kh.part01_threadTest.thread.*; public class Run { public static void main(String[] args) { Car car = new Car(); Tank tank = new Tank(); Plane plane = new Plane(); Thread t1 = car; Thread t2 = tank; Thread t3 = new Thread(plane); t1.setPriority(Thread.MAX_PRIORITY); t3.setPriority(Thread.MIN_PRIORITY); System.out.println("t1우선.. 2022. 3. 7.
[Java] GUI(Graphic User Interface) 1 package com.kh.gui.part01_container.view; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; public class JFrameTest1 extends JFrame { //프레임을 생성하는 방법 //javax.swing.JFrame 클래스를 상속받아 생성자에서 프레임에 대한 설정 후 //다른 클래스에서 호출하는 방식 public JFrameTest1() { //프레임에 크기 와 위치 지정 //this.setLocation(300, 200); //this.setSize(800, 500); this.setBounds(300, 200, .. 2022. 3. 7.
[Java] IO(입출력) 입출력 Input과 Output의 약자로, 컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고 받는 것을 말한다. 장치와 입출력을 위해서는 하드웨어 장치에 직접 접근이 필요하고, 다양한 매체에 존재하는 데이터들을 사용하기 위해 입출력 데이터를 처리할 공통적인 방법으로 스트림을 이용한다. 데이터를 바이트 단위나 문자단위로 끊어서 전송해야 한다. 모든 파일은 0과 1로 되어 있다 데이터가 고속으로 지나가는 잔상(통로)을 스트림이라고 한다. 프로그램이 파일로부터 데이터를 읽어들이려면 읽어들이기 위해서 통로를 접해야 한다. 받아서 모아서 해석한다. 1바이트씩 끊어서 전송해주는 것을 파일이 끝날 때 까지 모은다. 통로는 단방향이다. 입력통로와 출력통로가 서로 다르다. 문자 단위로 읽어들이냐 바이트 단위로 .. 2022. 3. 7.
[Java] Exception(예외처리) 프로그램 에러의 종류 Compile-Time Error(컴파일 에러) : 소스 상의 문법 Error다. Runtime Error(런타임 에러) : 입력 값이 틀렸거나, 배열의 인덱스 범위를 벗어났거나, 계산식의 오류 등으로 인해 발생한다. Logical Error(논리 에러) : 문법상 문제가 없고, 런타임에도 발생하지 않지만, 개발자의 의도대로 작동하지 않는다. System Error(시스템 에러) : 컴퓨터 오작동으로 인한 에러 → 소스 구문으로 해결이 불가능하다. 자바 오류 정의 Error(오류) 프로그램 수행 시 치명적 상황이 발생한 것으로 소스상 해결이 불가능한 것을 에러라고 한다. 프로그램이 비정상적으로 종료된다. ex) OutOfMemoryError, StackOverflowError등. E.. 2022. 3. 7.
[Java] 기본 API 문자열 바꿀 일 많으면 StringBuffer클래스 사용 (시험)split과 StringTokenizer 값을 한번 꺼내 쓰면 다시 꺼내 쓸 수 없다. split은 자르는 기준이 정해져 있다 Tokenizer는 기준을 여러 개 입력 해주면 그중에 순서나 위치 상관 없이 패턴에 따라 걸러준다. public void splitTest() { String str = "java, oracle, JDBC, HTML5, CSS"; String[] split = str.split(", "); System.out.println("분리된 문자열의 갯수는 : " + split.length); for(int i = 0; i < split.length; i++) { System.out.println(split[i]); } f.. 2022. 3. 7.
[Java] 다형성 다형성이란? '서로 다른 형태'를 지칭하는 말로 객체지향 프로그래밍의 3대 특징 중 하나이며, 여러 객체들을 한번에 처리할 수 있는 기술이다. 상속을 이용한 기술로, 부모 타입으로부터 파생된 여러 가지 타입을 하나의 타입인 것처럼 처리할 수 있다. 상위 타입으로 하위 타입의 객체를 사용할 수 있다. 클래스 형변환(up casting) 상속 관계에 있는 부모 타입의 참조형 변수가 모든 자식 타입의 객체의 주소를 받을 수 있다. 자식 객체의 주소를 전달받은 부모타입의 참조변수는 원래 부모타입의 멤버만 참조 가능하다. Sonata 클래스가 Car 클래스의 후손인 경우 Car c = new Sonata(); Sonata 클래스형 -> Car 클래스 형으로 바뀜 클래스 형변환 (down casting) 자식 객체.. 2022. 3. 7.
[Java] 상속(Ingerit) 상속이란? 다른 클래스가 가지고 있는 멤버(필드와 메소드)들을 새로 작성할 필요 없이 클래스에서 직접 만들지 않고 가져와서 사용한다. 부모 클래스가 가진 필드와 메소드 그리고 타입을 물려준다 자식 클래스는 그것을 받아서 자신의 것처럼 사용할 수 있다. 상속의 목적 상속의 장점 적은 양의 코드로 새로운 클래스를 작성 가능하다 코드를 공통적으로 관리하기 때문에 여러 코드의 추가 및 변경이 용이하다 중복을 제거해서 생산성과 쉬운 유지보수성에 크게 기여한다. 작성 방법 클래스간의 상속시에는 extends 키워드를 사용한다. extends 뒤에 한개의 클래스명만 작성 가능하다(단일상속) 표현식 [접근제한자] class 클래스명 extends 클래스명{} 상속받는 클래스 후손클래스 자식클래스 파생클래스 서브클래스 .. 2022. 3. 7.
[Java] 배열 💡배열이란? 변수는 하나의 타입을 한 개만 저장할 수 있는 자료형(type)이다. 배열은 동일한 자료형을 여러개 묶어놓은 것을 의미한다. 배열을 사용하지 않으면 변수를 여러 개 사용해야 하는데 배열은 한꺼번에 처리가 가능하다. 배열은 저장된 값마다 인덱스 번호가 설정된다. 자리값은 0부터 시작된다. 배열의 사용 배열의 선언배열을 선언할 때 자료형을 정하고 주소를 저장할 수 있는 변수 이름을 설정한다.자료형별 기본값 int -> 0 char -> ₩u0000 double -> 0.0 boolean -> false reference -> 자료형[] 변수명; arr[j]) { 바꾼다 } } } temp 변수를 이용해 a와 b의 값을 서로 바꿔주는 방법. int a = 20; int b = 30; int tem.. 2022. 3. 7.
[Java] 반복문 for 문 표현식 for((1)초기식; (2)조건식; (3)증감식){ ................. } 로직순서 1 회전 : 초기식(1) 확인 → 조건식 확인 (2) true면 { }안 내용 1회 실행, false면 반복문 실행하지 않음 초기식에서 변수를 선언하고 조건식으로 넘어감 2 회전 : 증감(3)연산 → 조건식(2) 확인 true면 { }안 내용 1회 실행 false면 반복문 실행하지 않음 변수가 언제까지 실행되고 언제 끝낼지 결정하는 증감식을 넣어줌 2회전 이상부터는 2 → 3 확인 후 조건식이 false가 나올 때까지 { } 1번씩 실행 ✔ 1~5까지의 반복문 수행 public class A_for{ public static void main(String[] args){ for(int i =.. 2022. 3. 7.
728x90
반응형
LIST