2024/09/25 5

스레드란? (스레드/멀티스레드)

스레드(Thread)란?스레드는 프로그램 내에서 동시에 실행될 수 있는 작업 단위예시하나의 프로그램(프로세스)은 여러 가지 일을 동시에 할 수 있는데, 그때 필요한 것이 스레드예시: 웹 브라우저웹 페이지를 로드하는 것.음악이나 영상을 재생하는 것.사용자가 입력하는 키보드를 받아들이는 것.웹 브라우저는 여러 가지 일을 동시에 해야 하니까, 여러 개의 스레드를 사용합니다.한 스레드는 웹 페이지를 읽고,또 다른 스레드는 사용자 입력을 처리하며,다른 스레드는 비디오나 음악을 재생하는 식입니다.이렇게 여러 작업이 동시에 진행될 수 있는 이유가 스레드 덕분입니다. 스레드와 프로그램의 차이프로세스(프로그램): 실행 중인 프로그램 자체를 말합니다. 예를 들어, 게임을 실행하면 그 게임이 하나의 프로세스입니다.스레드: ..

공부 노트 2024.09.25

[디자인 패턴의 활용] 싱글 톤 패턴 복습

(싱글톤 패턴 혼자 공부하기) 싱글톤 패턴이란?싱글톤(Singleton) 패턴은객체 지향 프로그래밍에서 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 디자인 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고도, 애플리케이션 전반maze910.tistory.com💡1. 싱글톤 패턴에 대해서 알아보고 직접 코드를 작성할 수 있다.2. 싱글톤 패턴을 언제 어떻게 활용할 수 있는지 말할 수 있다.  사전기반 지식클래스와 객체: 자바에서 클래스는 객체를 생성하기 위한 틀입니다. 일반적으로 하나의 클래스에서 여러 객체를 생성할 수 있지만, 싱글톤 패턴은 단 하나의 객체만을 보장합니다.생성자(Constructor): 객체가 생성될 때 호출되는 메서드로, 싱글톤 패턴에서는 생성자를 외부에서 호출하지 못하도..

싱글톤 패턴이란?

싱글톤(Singleton) 패턴은객체 지향 프로그래밍에서 특정 클래스의 인스턴스가 오직 하나만 생성되도록 보장하는 디자인 패턴입니다. 이 패턴은 전역 변수를 사용하지 않고도, 애플리케이션 전반에서 동일한 객체를 공유해야 하는 상황에서 유용합니다. 1. 싱글톤 패턴의 개념싱글톤 패턴의 핵심 개념은 클래스 인스턴스의 유일성을 보장하는 것입니다.즉, 해당 클래스의 인스턴스가 단 하나만 생성되고, 어디에서나 동일한 인스턴스에 접근할 수 있도록 하는 것입니다. 이를 위해 특정 클래스를 설계할 때, 인스턴스를 생성하는 과정과 접근하는 방식을 제어합니다. 2. 사용 목적싱글톤 패턴은 주로 다음과 같은 상황에서 사용됩니다.전역적 상태 관리: 애플리케이션의 전역적인 설정, 설정 값을 유지하는 객체에 사용됩니다.리소스 관..

공부 노트 2024.09.25

디자인 패턴의 활용

사전 기반 지식 [사전 기반 지식] S.O.L.I.D 원칙💡1. SOLID 원칙을 이해하고 실제 코딩에 적용할 수 있다. 2. 각 원칙을 설명할 수 있으며, 코드의 유지보수성을 높이는 방법을 배운다. 3. 객체지향 프로그래밍에서의 설계 개선 방법을 습득한다.maze910.tistory.com 디자인 패턴(Design Patterns)은 소프트웨어 개발에서 자주 반복되는 문제들을 해결하기 위해 만들어진 재사용 가능한 코드 설계 방법입니다.즉, 소프트웨어 설계 시 발생할 수 있는 문제를 효율적으로 해결하기 위한 설계의 모범 사례라고 할 수 있습니다. 장점개발자간의 원활한 소통소프트웨어 구조 파악이 용이재사용을 통한 개발 시간 단축설계 변경 요청에 대한 유연한 대처단점객체지향 설계에 대한 깊은 이해도가 필요..

[사전 기반 지식] S.O.L.I.D 원칙

💡1. SOLID 원칙을 이해하고 실제 코딩에 적용할 수 있다. 2. 각 원칙을 설명할 수 있으며, 코드의 유지보수성을 높이는 방법을 배운다. 3. 객체지향 프로그래밍에서의 설계 개선 방법을 습득한다. 로버트 C. 마틴(Robert C. Martin), 흔히 "아저씨 보브(Uncle Bob)"로 알려진 소프트웨어 엔지니어가 발표한 객체 지향 프로그래밍 설계 원칙입니다. 즉, SOLID 원칙이란 객체지향 설계의 5가지 중요한 원칙을 뜻하며, 유지보수성과 확장성을 높이기 위해 설계 과정에서 따르는 지침입니다. 사전 기반 지식객체지향 프로그래밍의 기본 개념 (클래스, 객체, 상속, 다형성 등)Java에서 인터페이스와 상속 사용 방법접근 제한자, 메서드 오버라이딩, 클래스 간 관계 등의 기본 개념  단일 책임..