C#에서 이해하기 쉬운 다형성 개념

다형성은 동일한 인터페이스를 통해 다양한 형태로 동작할 수 있는 능력을 의미합니다. 객체 지향 프로그래밍에서는 이를 "하나의 인터페이스, 여러 구현"으로 요약할 수 있습니다. 다형성은 정적 다형성과 동적 다형성으로 나뉩니다. 정적 다형성은 컴파일 시에 함수 호출이 결정되며, 동적 다형성은 실행 시에 실제 메서드가 선택됩니다. 정적 다형성 정적 다 ...

8월 10일 04:11에 게시됨

파이썬에서의 다형성

객체 지향 프로그래밍에서 클래스는 상속 관계를 가질 수 있으며, 자식 클래스 타입의 객체는 부모 클래스 타입으로 간주될 수 있습니다. 이때 부모 클래스에 정의된 메서드가 자식 클래스에서 재정의되었다면, 해당 메서드를 호출했을 때 객체의 실제 타입에 따라 다른 동작을 수행하게 됩니다. 이러한 특성을 다형성(Polymorphism)이라고 합니다. 예를 들어, Human이 ...

8월 3일 12:39에 게시됨

C++ 다형성의 개념과 동작 원리 심층 분석

1. 다형성의 개념 다형성(Polymorphism)은 동일한 인터페이스를 통해 다양한 타입의 객체가 서로 다른 방식으로 동작할 수 있게 하는 객체지향 프로그래밍의 핵심 개념입니다. C++에서는 크게 두 가지 형태의 다형성을 지원합니다. 컴파일 타임 다형성(정적 다형성): 함수 오버로딩과 템플릿이 대표적입니다. 함수 이름은 같지만 매개변수의 타입이나 개수가 다를 때, 컴 ...

7월 26일 12:33에 게시됨

Java 객체 지향 프로그래밍 핵심 개념 정리

클래스 (Class) 클래스는 객체를 생성하기 위한 설계도로, 속성과 동작을 함께 정의합니다. 예를 들어 자동차의 색상과 문의 개수를 필드로 갖고, 주행 기능을 메서드로 구현할 수 있습니다. public class Automobile { String paintColor; int doorCount; public Automobile(String paintColor, int doorCount) { this.paintColor = paintColor; ...

7월 24일 00:34에 게시됨

Java 상속과 다형성 핵심 정리

상속(Inheritance) 기본 개념 여러 클래스에 공통으로 존재하는 속성이나 기능이 있다면, 이를 별도의 클래스로 분리하여 다른 클래스에서 재사용할 수 있다. 이것이 상속의 핵심 목적이다. 접근 제한자 활용 멤버 변수는 일반적으로 private으로, 메서드는 public으로 선언하는 것이 관례이다. 패키지 내에서만 접근 가능한 default와 상속 관계에서만 접근 가능한 pro ...

7월 23일 02:57에 게시됨

C++ 객체지향 핵심 실습: 다형성, 연산자 오버로딩, 클래스 템플릿

실습 1: 추상 인터페이스와 실행 시 다형성 미디어 콘텐츠 발행 시스템을 설계하며 순수 가상 함수와 가상 소멸자의 개념을 익혀봅니다. media.hpp #pragma once #include <string> // 발행물 공통 인터페이스 class Media { public: explicit Media(const std::string &title_ = ""); virtual ~Media() = default; virtual void release() cons ...

7월 6일 05:44에 게시됨

자바 초보자(5) - 클래스와 객체

1. 클래스와 객체란? 클래스는 동일한 속성과 행동을 가진 객체들의 추상적 집합이며, 객체는 클래스의 인스턴스로 상태와 행동을 가진다. 2. 자바에서 클래스와 객체의 구조는 어떻게 되나요? class Person { // 필드는 클래스의 속성 String fullName = "장삼"; int years = 23; // 메서드는 클래스의 행동 public void studyJava(){ Syst ...

7월 1일 05:49에 게시됨

Java SE 핵심 개념 요약: 기초부터 객체지향, 컬렉션까지

기본 데이터 형변환과 연산자 규칙 Java에서는 데이터 타입 간의 자동 형변환이 발생할 수 있으며, 이는 작은 범위의 타입이 큰 범위의 타입으로 대입될 때 적용된다. 예를 들어 byte 값이 int 변수에 할당되면 자동으로 승격된다. byte a = 5; int b = a; // 자동 승격: int로 변환됨 반대로 큰 타입을 작은 타입에 대입하려면 강제 형변환이 필요하다. int x = 1000; by ...

6월 29일 16:37에 게시됨

Java에서 상속과 인터페이스 구현의 차이점: extends와 implements

extends와 implements의 핵심 개념 Java에서는 클래스 간의 관계를 정의하기 위해 extends와 implements라는 두 가지 키워드를 사용한다. 이 둘은 모두 재사용성을 제공하지만, 그 목적과 사용 방식에는 중요한 차이가 있다. 상속: extends 키워드 extends는 기존 클래스를 상속받아 새로운 하위 클래스를 만드는 데 사용된다. 이를 통해 자식 클래스는 부모 클래스의 필 ...

6월 17일 19:16에 게시됨

C++에서 다형성 구현 원리 완전 정복

가상 함수와 다형성 개념 클래스 내에서 virtual 키워드가 붙은 멤버 함수는 가상 함수로 분류됩니다. 이 키워드는 함수 선언부에만 사용되며, 실제 구현부에는 포함되지 않습니다. class Parent { virtual int process() ; // 가상 함수 선언 }; int Parent::process() // 구현 시 virtual 불필요 { // 함수 내용 } 다형성의 첫 번째 형태 파생 클래스의 인스 ...

6월 6일 21:39에 게시됨