728x90
반응형
SMALL

2024/12/16 3

[객체지향 설계] SOLID 원칙 심화: LSP, ISP, DIP 개념과 예제 코드 완벽 정리

2024.10.30 - [객체지향 프로그래밍(OOP)] - [쉬운설명]SOLID 원칙이란? [쉬운설명]SOLID 원칙이란?SOLID 원칙이란? 🌟SOLID는 좋은 코드 설계를 위한 다섯 가지 원칙의 약자입니다. 이 원칙을 따르면 코드가 더 이해하기 쉽고, 유지보수가 쉬워지고, 확장 가능해져요. 하나씩 쉽게 설명해볼게요!1.alswnsghd1234.tistory.com 3. LSP (Liskov Substitution Principle) - 리스코프 치환 원칙쉽게 말하면: "자식 클래스는 부모 클래스를 대신해서 사용될 수 있어야 해요."📌 즉, 부모 클래스를 사용하는 코드는 자식 클래스를 사용해도 문제없이 동작해야 합니다.예시: "도형의 넓이를 계산하기"Java 코드// LSP를 지키지 않은 코드 😥..

[운영체제] 가상 메모리(Virtual Memory) 완벽 정리: 개념, 필요성, 동작 원리와 장단점

1. 가상 메모리의 개념정의: 가상 메모리는 컴퓨터의 운영체제가 실제 물리적 메모리(RAM)보다 더 큰 메모리 공간을 사용할 수 있게 해주는 기술입니다. 디스크(하드 드라이브나 SSD)의 일부를 마치 RAM인 것처럼 사용하는 방식입니다.쉽게 말하면: 가상 메모리는 방이 좁아서 물건을 다 둘 수 없는 경우, 창고를 임시로 사용하는 것과 비슷해요. 방(RAM)에 물건을 다 둘 수 없으면 창고(디스크)에 잠시 두었다가 필요할 때 다시 가져오는 거죠.작동 방식:주소 변환: 프로그램은 자신이 사용하는 메모리를 가상 주소(Virtual Address)로 인식합니다. 운영체제는 이 가상 주소를 실제 물리 주소(Physical Address)로 변환해 실제 메모리(RAM)에 접근합니다.쉽게 말하면: 가상 주소는 창고의..

운영체제 2024.12.16

[운영체제] 프로세스 동기화 심화: 세마포어(Semaphore) 개념과 Java·Python 예제 코드

심화된 예제 🧠이번에는 세마포어(Semaphore)를 사용해 여러 스레드가 제한된 수의 자원을 동시에 사용하는 심화 예제를 다뤄볼게요.예를 들어, 3대의 차량만 동시에 주차할 수 있는 주차장을 구현해보죠! 🚗자바 심화 예제 ☕import java.util.concurrent.Semaphore;public class ParkingLotExample { // 주차장(세마포어) private final Semaphore parkingSlots; public ParkingLotExample(int slots) { this.parkingSlots = new Semaphore(slots); // N개의 주차 슬롯 } public void parkCar(String carN..

운영체제 2024.12.16
320x100
반응형
LIST