문법/JAVA

저 객체가 그 객체요? ???

Funold 2023. 10. 26. 21:05
- 객체
   - 세상에 존재하는 물체, 식별이 가능한 것
    - 자동차, 호텔, 요리레시피, 계산기, 강의, 배달 주문, 운동 등등 => 식별 가능
   - 속성(필드)과 행위(메서드)
   - 객체 모델링
    Car class <클래스>
    --------------------<필드>
    company: String
    color : String
    price : double
    speed : double
    --------------------<메서드>
    gasPedal() : double
    brakePedal() : double
    changeGear() : char
    onOffLight() : boolean
    horn() : void
   - Person객체 <- return double / gasPedal(매개변수)메서드 호출 -> Car클래스
   - 소프트웨어의 객체들은 메서드를 통해 데이터를 주고 받음
  - 객체간 관계
   - Person객체 -> Car클래스 => 사용관계
   - Tire/Door/Handle -> Car => 포함관계
   - Car/Train -> MachineSystem => 상속관계** => Car/Train이 MachineSystem을 사용
  - 객체지향 프로그래밍의 특징
   - 캡슐화 : 속성(필드)과 행위(메서드)를 하나로 묶어 객체로 만듦->실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것
    - 객체가 변화하지 않게 만듬 => 보안
    - 접근제어자 사용 : Public, Default, Protected, Private
   - 상속
    - 필드와 메서드를 자식 객체에 물려주어 자식 객체가 이를 사용할 수 있게 함
    - 부모클래스의 단일화된 클래스를 자식객체들이 동일하게 적용받으며 사용 가능
    - 상속 사용 이유
     - 구조 파악에 용이
     - 필드,메서드 변경필요시  부모객체만 수정->자식객체에 반영 => 코드 중복↓, 코드 재사용성↑
   - 다형성 : 객체가 연산 수행시, 한 행위에 대해 각 객체가 지닌 고유한 특성에 따라 여러 형태로 재구성 되는 것
    - 클래스를 토대로 객체 A, B를 생성 후, 각 객체의 동일 메서드내 함수가 다를 시 필요에 따라 메서드의 구현을 다르게 재정의 하여 사용 가능 => A || B 의 메서드 함수 사용
   - 추상화 : 객체에서 공통된 부분을 모아 상위 개념으로 새롭게 선언하는 것
    - 공통적이고 중요한 것들을 모아 객체를 모델링
    - ex) 자동차의 가속, 브레이크, 속도와 같은 동일한 행위들 을 추상화 함 => 자동차 객체 모델링
  - 객체와 클래스
   - 객체 생성을 위한 설계도 필요 => 설계도 클래스를 토대로 객체 생성
   - 인스턴스instance : 클래스를 토대로 만든 객체 => 인스턴스화
    - 여러개 생성 가능

 

'문법 > JAVA' 카테고리의 다른 글

Entity…나는 응답한다…!  (1) 2023.12.08
가막눈 쑤준  (1) 2023.11.16
클래스와 아이들  (0) 2023.10.23
상속  (0) 2023.10.21
스레드와 스레드, 그리고 스레드.  (1) 2023.10.19