출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
객체기반으로 프로그래밍하는 페러다임인데, 변수는 data propertes,함수는 method,객체지향 프로그래밍
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
c++은 객체지향언어보다 멀티패러다임 언어이다. c++를 oop적으로 프로그래밍하면 저 4가지를 알아야된다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
클래스를 실제로 사용되는 언어로 찍어대는것이 인스턴스이다.클래스는 설계도고 실질적으로 찍어낸 객체를 인스턴스라고한다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
클래스(자동차)의 인스턴스는 내친구의 벤츠(객체)이다.
고양이(클래스)의 객체는 우리집에 사는 야옹이라는 고양이다.
즉 개체는 추상적으로 오면 안된다. 붕어빵틀을찍었을때 구체적으로 나오는것처럼 객체는 구체적이여야된다.
객체는 유일하게 값을 대입할수있는 얘들을 객체라고한다.
클래스는 캡슐화시키는도구인데, 그안에는 자료와 함수가 같이 들어가있다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
다형성(polymorphism)은 이름을 하나만 쓴다.
클래스다이어그램 중요
젤위 클래스이름:자동차
중간 자동차를 특정지을수있는변수:문,핸들,바퀴,의자
마지막 자동차가하는 행위들:감속한다,움직인다,정차한다
이게 약속 클래스다이어그램이다. 그냥 변수라안하고 멤버변수,멤버함수라고한다.
클래스이름:고양이
중간 고양이를 특정지을수있는변수:고양이털색깔,품종,나이,이름,사는곳
고양이가가질수있는변수:먹다,사냥하다,1년후에 한살먹는다,짖다
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
c++,c#,java script, java,python언어들의 클래스로부터 객체를 만드는 예제를 직상히고 설명해줘
답변
빠른 검색
각 프로그래밍 언어에서 클래스로부터 객체를 만드는 예제를 설명하겠습니다. 각 언어별로 간단한 Car 클래스를 정의하고 객체를 생성하는 예제를 보여드리겠습니다.
1. C++
cpp
#include <iostream>
using namespace std;
class Car {
public:
string brand;
int year;
Car(string b, int y) {
brand = b;
year = y;
}
void display() {
cout << "Brand: " << brand << ", Year: " << year << endl;
}
};
int main() {
Car myCar("Toyota", 2020);
myCar.display();
return 0;
}
설명:
- Car 클래스는 brand와 year라는 두 개의 속성을 가집니다.
- 생성자를 통해 객체가 생성될 때 이 속성들이 초기화됩니다.
- display 메서드는 차의 정보를 출력합니다.
2. C#
csharp
using System;
class Car {
public string Brand { get; set; }
public int Year { get; set; }
public Car(string brand, int year) {
Brand = brand;
Year = year;
}
public void Display() {
Console.WriteLine($"Brand: {Brand}, Year: {Year}");
}
}
class Program {
static void Main() {
Car myCar = new Car("Toyota", 2020);
myCar.Display();
}
}
설명:
- Car 클래스는 속성으로 Brand와 Year를 가지고 있습니다.
- 생성자를 통해 속성들이 초기화되며, Display 메서드로 정보를 출력합니다.
3. JavaScript
javascript
class Car {
constructor(brand, year) {
this.brand = brand;
this.year = year;
}
display() {
console.log(`Brand: ${this.brand}, Year: ${this.year}`);
}
}
const myCar = new Car("Toyota", 2020);
myCar.display();
설명:
- Car 클래스는 생성자와 메서드를 가지고 있습니다.
- new 키워드를 사용해 객체를 생성하고, display 메서드로 정보를 출력합니다.
4. Java
java
class Car {
String brand;
int year;
Car(String b, int y) {
brand = b;
year = y;
}
void display() {
System.out.println("Brand: " + brand + ", Year: " + year);
}
}
public class Main {
public static void main(String[] args) {
Car myCar = new Car("Toyota", 2020);
myCar.display();
}
}
설명:
- Car 클래스는 brand와 year 속성을 가지고 있습니다.
- 생성자를 통해 초기화 후, display 메서드로 정보를 출력합니다.
5. Python
python
class Car:
def __init__(self, brand, year):
self.brand = brand
self.year = year
def display(self):
print(f"Brand: {self.brand}, Year: {self.year}")
my_car = Car("Toyota", 2020)
my_car.display()
설명:
- Car 클래스는 생성자 __init__을 사용하여 속성을 초기화합니다.
- display 메서드로 정보를 출력합니다.
각 언어의 문법은 다르지만, 클래스와 객체 생성의 기본 개념은 유사합니다. 이러한 예제를 통해 클래스의 생성과 메서드 호출 방식을 이해할 수 있습니다.
출처:뤼튼
c언어의 구조체에서는 멤버변수만 넣을수있다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
c언어의 구조체에서는 변수만 넣을수있었는데 c++클래스로 넘어가면서는 함수도 넣을수있다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
구조체에 같은연산을 대입하면 멤버들이 다 복사가 된다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA