🙈

⃝ 동글동글 ⃝

🪐ᐩ˖ 🍎
728x90
반응형
SMALL

Java/기초 10

[Java 기초] Thread(스레드) 실행제어

효율적인 멀티스레드 프로그래밍을 위해서는 정교한 스케줄링을 통해 프로세스에게 주어진 자원과 시간을 여러 스레드가 낭비 없이 잘 사용하도록 해야 한다. 스레드 상태 스레드의 생성과 소멸 과정 스레드를 생성하고 start()를 호출하면 바로 실행되는 것이 아니라 실행대기열에 저장되어 자신의 차례가 될 때까지 기다리고, 실행대기열은 Queue와 같은 구조로 먼저 실행대기열에 들어온 스레드부터 실행한다. 실행대기상태에 있다가 자신의 차례가 되면 실행상태가 된다. 주어진 실행시간이 다되거나 yield()를 만나면 다시 실행대기상태가 되고 다음 차례의 스레드가 실행상태가 된다. 실행 중에 suspend(), sleep(), wait(), join(), I/O block에 의해 일시정지 상태가 될 수 있다. 지정된 ..

Java/기초 2023.06.16

[Java 기초] Generics(제네릭)

Generics 제네릭 제네릭이란 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴피일 시의 타입체크(compile-time type check)를 해주는 기능 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여준다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준다는 뜻이다. Generics : - 다룰 객체의 타입을 미리 명시해 줌으로써 번거로운 형변환을 줄여주는 것 - 인스턴스별로 다르게 동작하도록 하기 위해 만든 기능 제네릭의 용어 Box // 제네릭 클래스, 'T의 Box' 또는 'T Box'라고 읽는다. T //..

Java/기초 2023.06.02

[Java 기초] 컬렉션 프레임워크 (Collections Frmaework)

⭐️ 컬렉션 프레임워크 (Collections Frmaework) 정의 : 데이트 군을 저장하는 클래스들을 표준화한 설계 - Collection : 다수의 데이터(데이터 그룹) - Framework : 표준화된 프로그래밍 방식 장점 - 다수의 데이터를 다루는데 필요한 다양하고 풍부한 클래스들을 제공 - 인터페이스와 다형성을 이용한 객체지향적 설계를 통해 표준화 되어 있어 사용법을 익히기 편하고 재사용성이 높은 코드 작성 가능 Collection Framework의 모든 Collection Class들은 List, Set, Map 중 하나를 구현하고 있다. 💡 Collection 인터페이스 List와 Set의 조상인 Collection Interface에는 아래와 같은 메서드들이 정의되어 있다. 💡 Lis..

Java/기초 2023.05.26

[Java 기초] 정규식(Regular Expression) regex 패키지

정규식(Regular Expression) regex 패키지 java.util.regex 패키지 정규식이란 텍스트 데이터 중에서 원하는 조건(패턴, Pattern)과 일치하는 문자열을 찾아내기 위해 사용한다. 미리 정의된 기호와 문자를 이용하여 작성한 문자열에서 뽑아낼 수 있다. 정규식을 이용하여 많은 양의 텍스트 파일 중에서 원하는 데이터를 손쉽게 뽑아낼 수 있고, 입력된 데이터가 형식에 맞는지 체크할 수도 있다. 예를 들어 html 문서에서 전화번호나 이메일 주소만을 따로 추출하거나, 입력한 비밀번호가 숫자와 영문자의 조합으로 되어있는지 확인할 수도 있다. 정규식에 사용되는 기호와 작성방법에 대해서는 정말 광범위하기 때문에 자주 쓰이는 정규식의 작성 예를 보고 응용할 수 있을 정도까지만 학습하고 넘어..

Java/기초 2023.05.20

[Java 기초] Random 클래스

Random 클래스 Math.random() 메서드와 같이 난수를 생성할 수 있는 java.util.Random 클래스가 존재한다. // 두 코드는 동등하다. int num = (int)(Math.random() * 6) + 1; int num = new Random().nextInt(6) + 1; Math.random() 메서드는 내부적으로 Random 클래스의 인스턴스를 생성해서 사용하는 것이기 때문에 위의 코드 중 편한 것을 사용하면 된다. Math.random() 메서드와 Random 클래스가 다른 점은 종자값(seed) 시드를 설정할 수 있다는 것이다. 종자값을 설정하면, Random 인스턴스들은 모두 항상 같은 난수를 순서대로 반환하게 된다. import java.util.*; class Ra..

Java/기초 2023.05.20

[Java 기초] Objects 클래스

Objects 클래스 Object 클래스의 보조 클래스이며, 모든 메서드가 'static'이다. 객체의 비교나 null 체크에 유용하다. isNull(), nonNull() 메서드로 객체가 null인지 아닌지 체크할 수 있다. requireNonNull() 메서드는 해당 객체가 null이 아니어야 하는 경우에 사용한다. Object 클래스에는 두 객체의 등가비교를 위한 equals() 메서드만 있고, 대소비교를 위한 compare() 메서드는 존재하지 않는다. 따라서 Objects 클래스에 는 compare() 메서드가 존재하기 떄문에 Objects를 사용한다. Objects 클래스에도 equals() 메서드가 존재하는데 Objects.equals() 메서드는 매개변수의 값이 null인지 확인할 필요가 ..

Java/기초 2023.05.19

[Java 기초] Wrapper(래퍼) 클래스

Wrapper(래퍼) 클래스 객체지향 개념에서 모든 것은 객체로 다루어져야 한다. 하지만 자바에서는 8개의 기본형을 객체로 다루지 않는다. 때로는 기본형(Primitive type) 변수도 어쩔 수 없이 객체로 다뤄야 하는 경우가 있다. 예를 들어 매개변수로 객체를 요구하거나, 기본형 값이 아닌 객체로 저장해야 하는 경우, 객체간의 비교가 필요할 때 등등의 경우에서 사용한다. 따라서 위와 같은 몇가지 상황에서 기본형 값들을 객체로 변환하여 작업을 수행할 때가 있다. Java에는 8개의 기본형을 대표하는 Wrapper(래퍼)클래스가 존재한다. 래퍼 클래스는 내부적으로 기본형(Primitive type) 변수를 가지고 있다. 이 클래스들을 이용하면 기본형 값을 객체로 다룰 수 있다. class Wrapper..

Java/기초 2023.05.19

[Java 기초] Scanner(스캐너)에 대하여

Scanner(스캐너) java.util.Scanner 클래스 import java.util.Scanner; public class ScannerExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a; double b; String s; long l; a = sc.nextInt(); // int 변수 1개 입력받는 예제 b = sc.nextDouble(); // double 변수 1개 입력받는 예제 s = sc.next(); // 문자열 1개 입력받는 예제 l = sc.nextLong(); // long 변수 1개 입력받는 예제 System.out.println("a = " + a); Syst..

Java/기초 2023.05.19

[Java 기초] 상속(Inheritance)과 오버라이딩(Overriding)

1. 상속 (Inheritance) 1) 상속의 정의와 장점 정의 : 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 - 두 클래스를 조상과 자손으로 관계를 맺어주는 것. - 자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블록 제외) - 자손의 멤버 개수는 조상보다 적을 수 없다.(같거나 많다.) 장점 : 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 기여 상속 관계에는 조상 클래스와 자손 클래스로 두 가지로 나뉘는데 조상 클래스와 자손 클래스는 아래와 같은 이름을 가진다. - 조상 클래스 : 부모(parent) 클래스, 상위(super) 클래스, 기반(base) 클래스 - 자손 클래스 : 자식(child) 클래스, 하위(sub) 클래스, 파생된(derive..

Java/기초 2023.05.12

Java 문자열(String) 관련 함수

문자열 문자열 포함 관계에 사용되는 메소드 contains(””) : 포함된다면 true 반환 indexOf(””) : 문자가 포함되는 첫 위치 index 반환 / 포함되지 않는다면 -1 반혼 lastIndexOf() : 마지막 일치하는 index startsWith() : 이 문자열로 시작되는지 → 시작하면 true endsWith() : 00으로 끝나는지 → 끝나면 true 문자열 변환 메소드 replace(target, replacement) : target을 replacement로 바꿈 substring(beginIndex) : beginIndex 기준 자르기, 이전 내용은 삭제 substring(beginIndex, endIndex) : beginIndex부터 endIndex 직전까지 자름 문자..

Java/기초 2023.01.02
728x90
반응형
LIST