프로그래밍 4

자바의 가비지 컬렉터 (Garbage Collector) 🗑️

자바의 가비지 컬렉터(Garbage Collector, GC)는 불필요한 메모리를 자동으로 관리하여 개발자가 직접 메모리를 할당하거나 해제하지 않아도 되도록 도와줍니다. 이는 자바가 가진 가장 큰 장점 중 하나로, 메모리 누수를 방지하고 안정성을 높여줍니다.1. 가비지 컬렉터의 동작 원리 ⚙️가비지 컬렉터는 **힙 메모리(Heap Memory)**에서 사용되지 않는 객체를 탐지하고, 이를 제거하여 메모리를 회수합니다.메모리 영역 구분자바 프로그램의 메모리는 크게 다음과 같이 구분됩니다:메서드 영역(Method Area): 클래스 정보, 상수, static 변수 등이 저장.스택 영역(Stack Area): 메서드 호출 시 생성되는 지역 변수와 호출 스택 저장.힙 영역(Heap Area): 객체와 동적으로 ..

추상 클래스와 인터페이스

객체지향 프로그래밍에서 중요한 개념인 추상 클래스(Abstract Class)와 인터페이스(Interface)에 대해 알아보겠습니다. 두 개념 모두 다형성과 코드 재사용성을 높이는 데 중요한 역할을 합니다. 하지만 사용 목적과 구현 방식에서 차이가 있습니다. ✨1. 추상 클래스 (Abstract Class) 🛠️"공통적인 특징과 동작을 정의하며, 일부는 하위 클래스에서 반드시 구현하도록 강제한다."특징추상 메서드(Abstract Method): 구현되지 않은 메서드를 포함할 수 있습니다.일반 메서드: 구현된 메서드를 포함할 수 있습니다.상속을 통해서만 사용할 수 있습니다. 직접 객체를 생성할 수 없습니다.공통된 속성이나 동작을 여러 하위 클래스에서 재사용할 때 유용합니다.코드 예시public abstr..

객체지향 설계의 5원칙 (SOLID)

객체지향 프로그래밍에서 설계의 품질을 높이기 위해 사용하는 5가지 원칙인 SOLID 원칙에 대해 알아보겠습니다. SOLID 원칙은 유지보수성과 확장성을 높이고, 코드의 품질을 개선하는 데 도움을 줍니다. 하나씩 자세히 살펴보겠습니다! ✨1. 단일 책임 원칙 (Single Responsibility Principle, SRP) 🛠️"클래스는 단 하나의 책임만 가져야 한다."하나의 클래스는 하나의 기능이나 역할만 담당해야 합니다.클래스가 여러 책임을 가지게 되면, 하나의 변경이 다른 기능에 영향을 미칠 수 있습니다.예시:위 코드에서 calculateTotal과 printInvoice는 다른 책임을 가지므로, 별도의 클래스로 분리하는 것이 좋습니다.public class Invoice { public voi..

자바(Java)의 장단점 !

Java는 1995년 처음 등장한 이래, 현재까지도 널리 사용되는 프로그래밍 언어 중 하나입니다. 플랫폼 독립성과 강력한 생태계를 바탕으로 많은 개발자들의 사랑을 받고 있습니다. 이번 글에서는 Java의 장단점을 세세히 살펴보며, 왜 Java가 중요한지, 그리고 어떤 한계가 있는지 분석해보겠습니다. 😊Java의 주요 장점 🌟1. 플랫폼 독립성 (Write Once, Run Anywhere)Java는 JVM(Java Virtual Machine) 덕분에 플랫폼 독립적인 언어로 알려져 있습니다. 개발자가 한 번 작성한 코드를 다양한 운영 체제에서 실행할 수 있습니다.public class HelloWorld { public static void main(String[] args) { S..