객체의 타임이 클래스입니다.
클래스로부터 만들어진 객체를 인스턴스라 한다.
클래스는 객체의 설계도이며, 객체는 그 설계도를 기반으로 생성된 실제 데이터 구조임.
클래스(고양이)->객체(00에 사는 고양이)(객체는 큰폭이 아닌 아주 자세힌 한 대상)
클래스에느 데이터와 처리하는 동작이 들어간다.
클래스 다이어그램/시험냄 3칸
고양이
ㅡㅡㅡㅡㅡㅡ
품종,나이, 사는곳,
주인이름, 이름, 성격,
ㅡㅡㅡㅡㅡㅡㅡ
점프력,
class에 속성이 아무것도 없다면 private이 기본(생략 가능), 외부에서 접근이 안됨.
public는 struct 처럼 외부 접근이 됨
각 객체 지향 언어인 C++, C#, Java, Python에서 클래스를 선언하고 객체를 생성하는 방법을 아래에 정리하였습니다.
1. C++
클래스 선언 및 객체 생성
cpp
#include <iostream>
using namespace std;
class Dog {
public:
string name;
int age;
Dog(string n, int a) {
name = n;
age = a;
}
void bark() {
cout << name << " says woof!" << endl;
}
};
int main() {
Dog myDog("Buddy", 5); // 객체 생성
myDog.bark(); // 메소드 호출
return 0;
}
2. C#
클래스 선언 및 객체 생성
csharp
using System;
class Cat {
public string Name { get; set; }
public int Age { get; set; }
public Cat(string name, int age) {
Name = name;
Age = age;
}
public void Meow() {
Console.WriteLine(Name + " says meow!");
}
}
class Program {
static void Main() {
Cat myCat = new Cat("Whiskers", 3); // 객체 생성
myCat.Meow(); // 메소드 호출
}
}
3. Java
클래스 선언 및 객체 생성
java
class Bird {
String name;
int age;
public Bird(String name, int age) {
this.name = name;
this.age = age;
}
public void sing() {
System.out.println(name + " is singing!");
}
}
public class Main {
public static void main(String[] args) {
Bird myBird = new Bird("Tweety", 2); // 객체 생성
myBird.sing(); // 메소드 호출
}
}
4. Python
클래스 선언 및 객체 생성
python
class Fish:
def __init__(self, name, age):
self.name = name
self.age = age
def swim(self):
print(f"{self.name} is swimming!")
my_fish = Fish("Nemo", 1) # 객체 생성
my_fish.swim() # 메소드 호출
요약
- C++: 클래스는 class 키워드로 선언하며, 생성자는 클래스와 동일한 이름을 가집니다. 객체는 클래스의 인스턴스를 생성하여 만듭니다.
- C#: class 키워드로 선언하며, 속성은 get과 set으로 정의합니다. new 키워드로 객체를 생성합니다.
- Java: class 키워드로 선언하고, 생성자는 public으로 정의합니다. 객체는 new 키워드로 생성합니다.
- Python: class 키워드로 선언하고, 생성자는 __init__ 메소드를 사용합니다. 객체는 클래스의 인스턴스를 생성하여 만듭니다.
각 언어는 문법과 특징이 다르지만, 객체 지향 프로그래밍의 기본 개념은 동일합니다.
'인덕대 C++-출처 smile han' 카테고리의 다른 글
C++ 7주차 (0) | 2024.10.14 |
---|---|
C++ 7주차 예습 (1) | 2024.10.13 |
C++ 예습 5주차 (0) | 2024.10.06 |
C++ 4주차 (0) | 2024.10.01 |
C++ 3주차 (0) | 2024.09.23 |