(JAVA) 프로세스와 쓰레드 개념 이해하기
·
JAVA
1. 프로세스란?프로세스는 실행 중인 프로그램으로, 각 프로세스는 독립된 메모리 공간을 할당받아 실행됩니다. 운영체제는 여러 프로세스를 동시에 처리하며 각 프로세스는 독립적으로 동작합니다.2. 쓰레드란?쓰레드는 프로세스 내에서 실행되는 독립적인 작업 단위입니다. 여러 쓰레드가 하나의 프로세스 내 자원을 공유하면서 동시에 실행될 수 있습니다. 멀티쓰레딩을 통해 하나의 프로세스 내에서 여러 작업을 병렬로 처리하여 성능을 향상시킬 수 있습니다.3. 쓰레드의 종류User Thread(사용자 쓰레드) : 일반적인 애플리케이션이 사용하는 쓰레드로, 주로 개발자가 명시적으로 생성하여 사용합니다.Daemon Thread(데몬 쓰레드) : 백그라운드에서 실행되는 쓰레드로, 사용자 쓰레드가 모두 종료되면 자동으로 종료됩니..
(JAVA) Wrapper 기본 개념 이해하기
·
JAVA
Wrapper Class란?Java의 기본 데이터 타입은 객체가 아니기 때문에, 객체처럼 다룰 수 있는 클래스로 변환할 필요가 있을 때가 있습니다. 이때 사용하는 것이 바로 Wrapper 클래스입니다. Wrapper 클래스는 기본 타입을 객체로 다룰 수 있게 해주는 역할을 합니다. 예를 들어 int는 Integer, char는 Character 등의 대응되는 클래스가 존재합니다.1. 기본 타입과 Wrapper 클래스의 관계Java에서는 8개의 기본 타입에 대해 각각 대응되는 Wrapper 클래스를 제공합니다.기본 타입Wrapper 클래스byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean이러한 클래스들은 ..
(JAVA) Generics 개념 이해하기
·
JAVA
1. Generics란?Generics는 중복된 코드 제거와 타입 안정성을 보장하는 자바의 강력한 기능입니다. 주로 클래스나 메서드에 적용되며, 코드의 재사용성을 높이고 타입 체크를 컴파일 시점에 수행하여 런타임 오류를 줄이는 데 목적이 있습니다. 예를 들어, 클래스 이름 뒤의 문법 안에 타입 변수를 지정하여 다양한 타입을 유연하게 처리할 수 있습니다. 예시public class Box { private T item; public void set(T item) { this.item = item; } public T get() { return item; }}여기서 T는 타입 변수로, 어떤 타입이든 올 수 있습니다.2. Generics의 장점코드 중복 제거 : 하나의 클래스나 메서드를 여러..
(JAVA) 예외처리 알아가기
·
JAVA
● 오늘의 ISSUE예외란 무엇이고, 처리방법, 예외 처리하면 좋은 이유 등 여러가지 예외처리에 대해 알아가보자.● 예외처리◈. 예외(Exception)란?예외는 프로그램 실행 중에 발생하는 오류로, 프로그램의 정상적인 흐름을 방해하는 하나의 사건.Java에서 예외는 Throwable 클래스를 상속받아 두 가지 유형으로 나뉨.Checked Exception: 컴파일 시점에서 예외 처리를 강제하는 예외 (예: IOException, SQLException).Unchecked Exception (RuntimeException): 실행 시점에서 발생하며, 예외 처리가 강제되지 않는 예외 (예: NullPointerException, ArrayIndexOutOfBoundsException).◈. 에외 처리 구문..
(JAVA) 다중상속과 인터페이스 알아보기
·
JAVA
● 오늘의 ISSUE다중상속이란 무엇이고 왜 써야하고 어떻게 써야하는지, 그리고 인터페이스는 무엇이고 왜 써야하고 어떻게 쓰는것인지 한번 알아보자.● 인터페이스◈. 인터페이스란.모든 메서드가 추상 메서드인 경우를 말한다.인터페이스 안의 모든 메서드는 선언만 된 상태일 뿐, 무슨 기능을 할지 '정의'되지 않은 상태다인터페이스는 모든 메서드가 추상 메서드로 간주되기 때문에 abstract를 적지 않는다.다중상속이 가능하다.◈. 인터페이스를 써야하는 이유동일한 목적 하에 동일한 기능을 보장하게 하기 위함다형성을 이용하여 개발코드 수정을 줄이고 유지보수성을 높여줌다중상속 활용◈. 사용 조건 - interface 키워드 사용하여 선언 - implements 키워드를 통해 일반 클래스에서 인터페이스 구현 ◈. 사용..
(JAVA) 추상클래스의 개념 + instanceof 이해하기
·
JAVA
● 오늘의 ISSUEJava 추상 클래스의 개념과 instanceof가 뭔지 알아보자 ● 추상클래스◈. 추상 클래스란?비슷한 필드와 메서드를 공통적으로 추출해 만들어진 클래스다예시)'마우스'를 만드는 제조사는 여러개이다. A,B,C,D제조사는 각 제조사만의 스타일대로 마우스를 제작하고 소비자들에게 제품을 출시한다. 여기서 A제조사는 마우스를 누를때 마다 불빛이 들어온다. B제조사는 마우스를 누를때 소리가 난다. C제조사는 마우스를 누를때 강하게 눌러야만 반응한다. 여기서 이 마우스들 간에 공통점이 있다. 바로 마우스를 누른다 라는 액션, 즉 메서드가 공통적이다. 그럼 이 메서드를 추출해서 추상클래스 안에 두면 된다.◈. 추상 클래스를 써야하는 이유필드와 메서드 이름을 통일하여 유지보수성을 높이고 통일성을..
(JAVA) 접근 제어자와 오버라이드 개념
·
JAVA
● 오늘의 ISSUEJava 접근 제어자와 오버라이드 개념을 이해해보자.1. 접근 제어자정의접근 제어자는 클래스, 변수, 메서드 선언부에 사용되며, 외부에서 해당 요소에 접근할 수 있는 범위를 제한하는 역할을 합니다.종류클래스 접근 제어자 : public, default메서드 및 멤버 변수 : public, protected, default, privateGetter와 Setter변수의 값을 직접적으로 조회하거나 변경하는 것을 방지하기 위해, 보통 Getter와 Setter 메서드를 사용합니다. 이를 통해 내부적인 값에 대한 제어는 가능하면서도 외부에서 직접적인 수정은 제한됩니다.각 접근 제어자별 특징1. private해당 클래스 내부에서만 접근 가능주로 클래스의 내부적인 동작이나 논리(Logical f..
(JAVA) 기본형 & 참조형 매개변수, 인스턴스 멤버와 클래스 멤버
·
JAVA
1. 기본형 & 참조형 매개변수기본형 매개변수기본형 매개변수는 변수의 값을 읽기만 할 수 있는 Read Only 속성을 가집니다. 즉, 메서드 내에서 해당 변수를 수정할 수 없고, 외부에 영향을 미치지 않는다는 특징이 있습니다.특징 : 값 자체를 복사해 전달하기 때문에, 메서드 내에서 수정해도 원본 변수에 영향을 주지 않음.참조형 매개변수참조형 매개변수는 변수의 값을 읽고 변경할 수 있는 Read & Write 속성을 가지고 있습니다. 참조형은 메서드 내부에서 변경한 값이 원본 변수에도 영향을 줍니다.특징 : 객체의 참조를 전달하기 때문에, 메서드 내에서 수정하면 원본 객체도 영향을 받음.예시알게된 점처음에는 기본형과 참조형의 차이가 단순한 개념으로 느껴졌지만, 실제 코딩을 하다 보면 참조형이 객체의 상..