하지마지 2023. 10. 12. 15:22
728x90

객체 지향 프로그래밍

OOP 

1. 어떤 문제를 여러 개의 객체 단취로 나누어서 작업하는 방식

2.자바에서 클래스란 사물(자동차, 사람, 책)과 추상화를 표현하기 위해 필드와 메소드로 이루어진 정해진 틀을 의미합니다. 

객체란? 

 - 클래스로 정의된 틀에서 생성된 하나의 사물을 객체라고 합니다.

- 하나의 클래스에서 여러 개의 객체가 생성될 수 있으며, 이는 서로 다른 객체입니다

왜?

Heap메모리에 서로 다른 주소로 저장이 되어서

 

객체의 상호 작용

객체들은 서로 간에 기능(동작)을 이용하고, 데이터를 주고 받음

 

서로 상호작용이 되지 않으면 굳이 한 클래스에 만들 필요가 없음

왜냐? 어차피 상호작용이 안되는데 만들면 의미가 없음

 

메소드= 추상화 = 기능 = 동작 다 같은 말

 

기능을 주고 받는다 == 메소드에 파라메타 넣어준다

 

class 안에 추상화를 생각하고 다른 클래스를 만들면 이 클래스를 사용하는지 아닌지 판단 해야 함. 

 

객체관의 관계 

객체 지향 프로그램에서는 객체는 다른 객체과 관계를 맺음

 

관계의 종류 

1. 집합관계 : 완성품과 부품과의 관계 (Composite Pattern) 

2. 사용 관계 : 객체가 다른 객체를 사용하는 관계 : 사용할 때만 필요한 관계 ( 연관 관계 , Association )

3. 상속 관계 : 부모 + alpa : 부모 노드에 요소를 추가하여 사용하고 싶을 때 ( 일반화 관계 , Gerneralization ) 

 

728x90