2024/08 4

추상 클래스와 인터페이스

추상 클래스(Abstract Class)란 무엇인가?추상 클래스(Abstract Class)는 객체지향 프로그래밍(OOP)에서 공통된 특성을 가지는 클래스들의 기본 구조를 정의하는 데 사용되는 중요한 개념입니다. 추상 클래스는 클래스 설계 시 다형성과 재사용성을 높여주며, 이를 활용하여 공통된 동작을 여러 하위 클래스에서 일관되게 구현할 수 있습니다. 1. 추상 클래스란?추상 클래스는 하나 이상의 추상 메서드를 포함할 수 있는 클래스입니다. 추상 메서드는 메서드의 시그니처(이름, 반환 타입, 매개변수 목록)만 정의하고, 실제 구현은 하위 클래스에서 제공됩니다. 추상 클래스는 그 자체로는 인스턴스화할 수 없으며, 반드시 이를 상속받은 구체적인 하위 클래스에서 인스턴스화가 가능합니다.2. 추상 클래스의 특징..

CS 지식 2024.08.25

오버로딩과 오버라이딩

1. 오버로딩 (Overloading)오버로딩은 같은 이름의 메서드를 여러 개 정의할 수 있게 하는 기능입니다. 오버로딩된 메서드는 메서드의 이름은 같지만, 매개변수의 유형이나 개수, 순서가 달라야 합니다. 이를 통해 같은 기능을 수행하지만 입력 값이 다를 때, 각각의 상황에 맞는 메서드를 선택적으로 호출할 수 있습니다.오버로딩의 특징:메서드 이름: 동일한 이름을 사용합니다.매개변수: 매개변수의 타입, 개수, 순서가 달라야 합니다.반환 타입: 반환 타입은 오버로딩과 관련이 없습니다. 즉, 반환 타입만 다르고 매개변수가 같다면 오버로딩이 성립하지 않습니다.컴파일 시에 결정: 어떤 메서드를 호출할지 컴파일 시에 결정됩니다.오버로딩 예제:class Calculator { // 정수 두 개를 더하는 메서드..

CS 지식 2024.08.15

MVC 패턴

MVC 패턴이란?MVC(Model-View-Controller) 패턴은 소프트웨어 디자인 패턴 중 하나로, 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller)라는 세 가지 주요 컴포넌트로 분리하여 각각의 책임을 분리하는 구조를 의미합니다. 이 패턴은 특히 사용자 인터페이스를 가진 애플리케이션에서 매우 유용하며, 자바를 포함한 다양한 프로그래밍 언어에서 널리 사용됩니다.1. Model (모델)모델은 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. 모델은 애플리케이션의 핵심 기능을 수행하며, 데이터베이스와의 상호작용, 데이터를 저장 및 수정, 비즈니스 규칙을 적용하는 작업을 처리합니다.모델의 주요 역할은 다음과 같습니다:애플리케이션에서 사용하는 데이터를 나타냅니다.데이터에 대..

CS 지식 2024.08.11

객체 지향

객체 지향 프로그래밍(OOP)에 대한 이해객체 지향 프로그래밍(OOP, Object-Oriented Programming)은 소프트웨어 설계 및 개발에서 가장 널리 사용되는 패러다임 중 하나입니다. OOP는 프로그램을 객체라는 단위로 나누어 처리하며, 각 객체는 데이터와 기능을 함께 가지고 있습니다. 이를 통해 코드의 재사용성, 확장성, 유지보수성을 높일 수 있습니다. 객체 지향 프로그래밍의 주요 개념OOP는 네 가지 주요 개념을 기반으로 합니다: 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism), 추상화(Abstraction).1. 캡슐화 (Encapsulation)캡슐화는 객체의 데이터를 보호하고, 데이터와 그 데이터를 처리하는 메서드를 하나의 단위로 ..

CS 지식 2024.08.01