12월 말이 되기 전에 프로젝트 하면서 틈틈히 완강을 ...
객체 지향 프로그래밍은 객체를 사용하여 개발하는 방식이다.
각 객체는 상태(데이터)와 행동(메서드)을 가질 수 있다.
이를 통해 현실 세계의 사물이나 개념을 소프트웨어 세계에서 유연하게 표현하고, 객체 간의 협력을 통해 복잡한 시스템을
개발할 수 있다.
캡슐화
private
접근 제한자(#)를 사용해 객체 내부의 속성을 외부에서 수정할 수 없게 만드는 것.상속
Mother
클래스에서 공통적인 속성과 메서드를 정의하고, 이를 Child
클래스가 상속받아 사용.다형성
Animal
클래스가 있고, Dog
와 Cat
클래스가 각각 makeSound()
라는 메서드를 오버라이딩하여 다르게 구현하는 경우.class User {
private name: string;
private age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
setName(name: string) {
this.name = name;
}
getName() {
return this.name;
}
setAge(age: number) {
this.age = age;
}
getAge() {
return this.age;
}
}
const user = new User('John', 25);
user.setName('Doe');
console.log(user.getName()); // 'Doe'
class Animal {
constructor(public name: string) {}
makeSound() {
console.log(`${this.name} makes a sound`);
}
}
class Dog extends Animal {
constructor(name: string) {
super(name); // 부모 클래스의 생성자 호출
}
makeSound() {
console.log(`${this.name} barks`);
}
}
const dog = new Dog('Buddy');
dog.makeSound(); // 'Buddy barks'