반응형

공부/OOP 6

인스턴스(instance)란?

인스턴스란? 객체 지향 프로그래밍에서 클래스의 특정 발생 또는 구현을 말합니다. 클래스는 객체 생성을 위한 템플릿이며 인스턴스는 해당 클래스에서 생성된 특정 객체입니다. 예를 들어, 제조사, 모델, 색상 및 바퀴 수와 같은 자동차의 속성과 메서드를 정의하는 "Car"라는 클래스가 있다고 가정해 보겠습니다. "Car" 클래스의 인스턴스는 네 바퀴가 달린 빨간색 Ford Mustang과 같은 특정 자동차입니다. 클래스의 인스턴스를 만들면 고유한 상태와 동작이 있는 새 개체를 만드는 것입니다. 객체의 상태는 속성으로 표현되고 객체의 동작은 메서드로 표현됩니다. 클래스의 인스턴스를 생성하는 것을 인스턴스화라고도 합니다. 대부분의 프로그래밍 언어에서는 객체를 인스턴스화하기 위해 키워드 "new" 다음에 클래스 이..

공부/OOP 2023.01.15

객체지향의 5대 원칙

1. 객체 지향의 5대 원칙의 개념 SOLID 원칙이라고 알려진 이 원칙은 로버트 마틴(Robert Martin)이 라는 책에서 객체 지향 프로그래밍 및 설계의 다섯 가지 원칙을 SOLID라는 약어로 소개한 것입니다. 2. 객체 지향의 5대 원칙 객체 지향 설계의 다섯 가지 기본 원칙은 다음과 같습니다. 1. S (SRP : Single Responsibility Principle) 클래스는 변경할 이유가 하나만 있어야 합니다. 즉, 하나의 책임만 있어야 합니다. 2. O (개방/폐쇄 원칙(Open/Closed Principle)) 클래스는 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 합니다. 즉, 기존 코드를 수정하지 않고도 새로운 기능을 포함하도록 확장할 수 있어야 합니다. 3. L (Lisko..

공부/OOP 2023.01.15

객체지향의 개념과 객체지향의 4대 특징

객체 지향이란 프로그래밍이란? 객체와 상호 작용을 사용하여 응용 프로그램과 컴퓨터 프로그램을 설계하는 프로그래밍 패러다임입니다. 데이터와 해당 데이터를 조작하는 코드를 포함할 수 있는 "객체" 개념을 기반으로 합니다. 객체는 객체를 만들기 위한 청사진 또는 템플릿인 클래스의 인스턴스입니다. 클래스는 해당 클래스의 개체가 가질 속성(데이터 멤버) 및 메서드(함수)를 정의합니다. 예를 들어 "Car" 클래스는 "make", "model" 및 "year"와 같은 속성과 "start()" 및 "drive()"와 같은 메서드를 가질 수 있습니다. 객체지향의 4대 특징은 다음과 같습니다. 1. 상속 상속은 클래스가 다른 클래스의 속성과 메서드를 상속할 수 있도록 하는 OOP의 기본 개념 중 하나입니다. 다른 클래스..

공부/OOP 2023.01.14

접근자(Getter)와 설정자(Setter)의 개념

접근자(Getter)와 설정자(Setter)는 Java 또는 C#과 같은 객체 지향 언어의 클래스와 같은 프로그래밍 언어에서 개체의 속성에 액세스하는 데 사용되는 메서드입니다. 접근자(Getter)는 속성 값을 검색하는 데 사용되는 메서드이고, 설정자(Setter)는 속성 값을 설정하는 데 사용되는 메서드입니다. 이러한 메서드는 종종 캡슐화 및 추상화를 제공하는 데 사용되며, 이는 객체의 내부 상태가 코드의 다른 부분에서 직접 액세스하거나 수정되지 않도록 보호하는 데 도움이 될 수 있습니다. 다음은 C# 언어에서의 접근자와 설정자의 대한 예제입니다. class Example { private int _value; public int Value { get { return _value; } set { _va..

공부/OOP 2023.01.13

캡슐화(Encapsulation)란?

캡슐화는 객체의 내부 상태와 동작을 외부 세계로부터 숨기고 대신 객체와의 상호 작용을 위한 공용 인터페이스를 노출하는 방법을 나타내는 객체 지향 프로그래밍의 특징 중 하나입니다. 이렇게 하면 객체가 사용되는 방식을 더 잘 제어할 수 있으며 개체의 내부 상태에 대한 의도하지 않은 변경을 방지할 수 있습니다. 캡슐화는 객체의 내부 상태 및 메서드에 대한 액세스를 제한하기 위해 액세스 한정자(예: "private" 또는 "protected")를 사용하여 달성되는 경우가 많습니다. 객체의 내부 상태 및 동작을 비공개로 만들고 개체와의 상호 작용을 위한 공용 인터페이스만 노출함으로써 개발자는 객체가 올바르게 사용되고 내부 상태가 일관되게 유지되도록 할 수 있습니다. 아래 예제는 C언어로 작성한 캡슐화의 예제입니다..

공부/OOP 2023.01.13

오버로딩(Overloading)과 오버라이딩(Overriding)의 개념과 차이

객체 지향 프로그래밍에서 오버로딩과 오버라이딩은 클래스가 이름은 같지만 기능이 다른 여러 메서드를 가질 수 있도록 하는 기술입니다. 오버로딩(Overloading)은 클래스가 이름은 같지만 함수의 기능이 다른 메서드를 만들 수 있는 기능입니다. 메서드 오버로딩(Overloading)을 사용하면 클래스에 이름은 같지만 인수 수나 인수 유형이 다른 여러 메서드가 있을 수 있습니다. 예를 들어, 클래스에는 이름이 'calculate'인 두 개의 메서드가 있을 수 있습니다. 하나는 두 개의 정수를 인수로 사용하여 합계를 반환하고 다른 하나는 세 개의 정수를 인수로 사용하여 평균을 반환합니다. 이 두개의 'calculate' 메서드는 이름은 같지만 서명이 다르므로 오버로드된 것으로 간주됩니다. 오버라이딩(Over..

공부/OOP 2022.12.29
반응형