OOP via Java
오브젝트에 대한 이해가 없다는 것을 깨달았다. 중간고사의 순기능.
객체지향 프로그램
각 객체를 만들고 그 객체를 서로 이용하면서 프로그램이 돌아가게끔 구성
aka 세계관 만들기
public boolean process (final Gate gateA, final Gate gateB, final Gate gateS) {
NandGate nand = new NandGate();
Gate sNandSGate;
Gate aNandSNandSGate;
Gate bNandSGate;
if (nand.process(gateS, gateS)) {
sNandSGate = new PositiveInput();
} ... 생략
return nand.process(aNandSNandSGate, bNandSGate);
}
객체와 클래스: 데이터와 메서드를 포함하는 객체를 생성하여 프로그램을 구성합니다. 데이터와 함수가 객체로 캡슐화되어 하나의 개체로 취급
상속과 다형성: 클래스가 서로 상속을 통해 코드를 재사용하고, 다형성을 통해 객체들이 공통된 인터페이스로 동작할 수 있게 함
상태와 변화: 객체는 각각 고유의 상태를 가지며, 메서드를 통해 상태를 변경 가능
객체지향 프로그래밍은 이러한 구조를 통해 프로그램을 현실 세계의 개념에 맞게 추상화할 수 있어 유연하고 확장 가능하지만, 상태 변화로 인해 예측이 어려워질 수 있음
way to go