728x90
반응형

자바 34

자바 - 멀티 스레드

Thread 클래스로 직접 생성 ------------------------------------------------------------ 러너블 방식 : Thread thread = new Thread(Rnnable target); class Task implements Runnable { @Override public void run() { // 스레드가 실행할 코드 } } 러너블 객체 생성 Runnable task = new Task(); 스레드 객체 생성 Thread = thread = new Thread(task); Thread thread = new Thread(new Runnable() { @Override public void run() { // 스레드 실행할 코드 } }); 스레드 동작..

자바 2023.01.25

자바 - 제네릭

제네릭이란? 제네릭 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시키는 기능 는 T가 타입 파라미터임을 뜻하는 기호. 타입이 필요한 자리에 T를 사용 할 수 있음을 알려줌 제네릭 타입 제네릭타입 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스 선언부에 '' 부호가 붙고 그 사이에 타입 파라미터들이 위치 public class 클래스명 {...} public interface 인터페이스명 {...} 타입 파라미터는 일반적으로 대문자 알파벳 한 글자로 표현 외부에서 제네릭 타입을 사용하려면 타입 파라미터에 구체적인 타입을 지정. 지정하지 않으면 Object 타입이 암묵적으로 사용 제네릭 메소드 제네릭 메소드 타입 파라미터를 가지고 있는 메소드. 타입 파..

자바 2023.01.20

자바 - java.base 모듈

API 도큐먼트 API 도큐먼트 자바 표준 모듈에서 제공하는 라이브러리를 쉽게 찾아서 사용할 수 있도록 도와주는 문서 JDK 버전별로 사용할 수 있는 API 도큐먼트: https://docs.oracle.com/en/java/javase/index.html java.base 모듈 java.base 모든 모듈이 의존하는 기본 모듈로, 모듈 중 유일하게 requires 하지 않아도 사용할 수 있음 java.lang 자바 언어의 기본적인 클래스를 담고 있는 패키지. 이패키지에 있는 클래스와 인터페이스는 import 없이 사용 할 수 있 Object 클래스 Object 클래스 클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속 -> 자..

자바 2023.01.18

자바 - 예외 처리

예외와 예외 클래스 예외와 에러 예외 : 잘못된 사용 또는 코딩으로 인한 오류 에러와 달리 예외 처리를 통해 계속 실행 상태를 유지할 수 있음 일반 예외(Exception) : 컴파일러가 예외 처리 코드 여부를 검사하는 예외 실행 예외(Runtime Exception) : 컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외 예외 처리 코드 예외 처리 예외 발생 시 프로그램의 갑작스러운 종료를 막고 정상 실행을 유지할 수 있게 처리하는 코드 예외 처리 코드는 try-catch-finally 블록으로 구성 trycatch-finally 블록은 생성자 내부와 메소드 내부에서 작성 예외 종류에 따른 처리 다중 catch로 예외 처리하기 catch 블록의 예외 클래스는 try 블록에서 발생된 예외의 종류를 말함..

자바 2023.01.18

자바 - 라이브러리와 모듈

라이브러리 라이브러리 추가하기 프로그램 개발 시 활용 할 수 있는 클래스와 인터페이스들을 모아놓은 것 일반적으로 JAR 압축 파일(~,jar) 형태. 클래스와 인터페이스의 바이트코드 파일(~.class) 들이 압축 라이브러리 JAR 파일을 사용하려면 ClassPath(클래스를 찾기 위한 경로)에 추가 콘솔(명령 프롬프트 또는 터미널) 에서 프로그램을 실행 할 경우 : java 명령어를 실행할때 -classpath로 제공. 또는 CLASSPATH 환경 변수에 경로 추가 이클립스 프로젝트에서 실행할 경우 : 프로젝트의 Build Path에 추가 모듈 모듈 패키지 관리 기능까지 포함된 라이브러리.Java 9부터 지원 모듈은 일부 패키지를 은닉하여 접근할 수 없게 끔 할 수 있음 의존 모듈을 모듈 기술자(mod..

자바 2023.01.17

자바 - 중첩 선언과 익명 객체

중첩 클래스 중첩 클래스 클래스 내부에 선언한 클래스. 클래스의 멤버를 쉽게 사용할 수 있고 외부에는 중첩 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있음 멤버 클래스 : 클래스의 멤버로서 선언되는 중첩 클래스 로컬 클래스 : 메소드 내부에서 선언되는 중첩 클래스 선언 위치에 따른 분류 선언 위치 객체 생성 조건 멤버 클래스 인스턴스 멤버 클래스 Class A { class B { ... } } A 객체를 생성해야만 B 객체를 생성할 수 있음 정적 멤버 클래스 Class A { static class B { ... } } A 객체를 생성하지 않아도 B 객체를 생성할 수 있음 로컬클래스 Class A { void method() { class B { ... } } } method가 실행 할 때만 B..

자바 2023.01.17

자바 - 인터페이스

* 인터페이스(interface) : 여러 장치를 연결하는 접속기 여러 객체를 연결하는 역할 추상클래스 처럼 틀을 구현 : 클래스 x 부모클래스 x 추상클래스 : 상속을 받은 자식 클래스 : 부모클래스1 인터페이스 : 클래스 인터페이스를 통해 구현 클래스에서는 여러 인터페이스를 상속을 받을 수 있다. * 인터페이스 역할 인터페이스 두 객체를 연결하는 역할 다형성 구현에 주된 기술 인터페이스와 구현 클래스 선언 * 인터페이스(interface) : 여러 장치를 연결하는 접속기 여러 객체를 연결하는 역할 추상클래스 처럼 틀을 구현 : 클래스 x 부모클래스 x 추상클래스 : 상속을 받은 자식 클래스 : 부모클래스1 인터페이스 : 클래스 인터페이스를 통해 구현 클래스에서는 여러 인터페이스를 상속을 받을 수 있다..

자바 2023.01.16

자바 - 상속

상속 개념 상속 부모클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있음 상속의 이점 이미 개발된 클래스를 재사용하므로 중복 코드를 줄임 클래스 수정을 최소화 클래스 상속 클래스 상속 자식 클래스를 선언할 때 어떤 부모로부터 상속받을 것인지를 결정하고, 부모 클래스를 다음과 같이 extends 뒤에 기술 public class 자식클래스 extends 부모클래스 { } 다중 상속 허용하지 않음. extends 뒤에 하나의 부모 클래스만 상속 public class 자식클래스 extends 부모클래스1, 부모클래스2(X) { } 부모 생성자 호출 부모생성자 호출 자식 객체를 생성하면 부모 객체가 먼저 생성된 다음에 자식 객체가 생성 자식클래스 변수 = new 자식클래스( ); 부모 생성자는 자식 생성자..

자바 2023.01.12

자바 - 클래스 - 02

인스턴스 멤버 인스턴스 멤버 선언 및 사용 인스턴스 멤버 : 필드와 메소드 등 객체에 소속된 멤버 this 키워드 객체 내부에서는 인스턴스 멤버에 접근하기 위해 this를 사용. 객체는 자신을 'this'라고 지칭 생성자와 메소드의 매개변수명이 인스턴스 멤버인 필드명과 동일한 경우, 인스턴스 필드임을 강조하고자 할 때 this를 주로 사용 정적 멤버 정적 멤버 선언 정적 멤버 : 메소드 영역의 클래스에 고정적으로 위치하는 멤버 static 키워드를 추가해 정적 필드와 정적 메소드로 선언 public class 클래스 { //정적 필드 선언 static 타입 필드 [= 초기값]; // 정적 메소드 static 리턴타입 메소드(매개변수, ...) {...} } 정적 멤버 사용 클래스가 메모리로 로딩되면 정적..

자바 2023.01.11

자바 - 클래스 - 01

객체 지향 프로그램 객체 객체(object)란 물리적으로 존재하거나 개념적인 것 중에서 다른 것과 식별 가능한 것 객체는 속성과 동작으로 구성. 자바는 이러한 속성과 동작을 각각 필드와 메소드라고부름 객체 지향 프로그래밍(OOP) 객체 객체들을 먼저 만들고, 이 객체들을 하나씩 조립해서 완성된 프로그램을 만드는 기법 객체의 상호작용 객체 지향 프로그램에서도 객체들은 다른 객체와 서로 상호작용하면서 동작 객체가 다른 객체의 기능을 이용할 때 이 메소드를 호출해 데이터를 주고받음 int result = add(10, 20); 매개값: 객체가 전달하고자 하는 데이터이며, 메소드 이름과 함께 괄호() 안에 기술 리턴값: 메소드의 실행의 결과이며, 호출한 곳으로 돌려주는값 메소드(매개값1, 매개값2, ...); ..

자바 2023.01.10
728x90
반응형