8일차 - Java강의(객체지향 ☆)

2024. 7. 24. 21:31·Java & Spring/Java
목차
  1. ◇ 클래스

◇ 클래스

- 객체란?

  • 객체는 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미
  • 객체는 속성과 행위로 구성
  • Java에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현
    ※ 이처럼 현실 세계에 있는 객체를 소프트웨어의 객체로 설계하는 것을 ‘객체 모델링’이라함

- 객체 간의 관계

  1. 사용관계 : '사람 객체'가 '자동차 객체' 를 사용
  2. 포함관계 : '엔진 객체', '타이어 객체', '핸들 객체'는 '자동차 객체'에 포함
  3. 상속관계 : '자동차 객체'는 '기계 객체'를 상속받음

- 객체지향 프로그래밍의 특징

  1. 캡슐화
    • 필드와 메서드를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것
    • 외부 객체에서는 캡슐화 된 객체의 내부 구조를 알 수 없기 때문에 노출시켜준 필드 혹은 메서드를 통해
      접근할 수 있다.
    • 필드와 메서드를 캡슐화하여 숨기는 이뉴는 외부 객체에서 해당 필드와 메서드를 잘못 사용하여 객체가
      변화하지 않게 하기 위해서다.
    • Java에서는 캡슐화된 객체의 필드와 메서드를 노출시킬지 감출 지 결장하기 위해 접근 제어자를 사용한다.
  2. 상속
    • 객체지향 프로그래밍에는 '부모 객체'와 '자식 객체'가 존재한다.
    • '부모 객체' 는 가지고 있는 필드와 메서드를 자식 객체에 상속해 '자식 객체'가 사용 할 수 있도록 만들 수 있다.
    • 상속이 필요한 이유는 객체 간의 구조 파악, 일관성 유지, 코드 중복 감소, 코드 재사용성 증가가 있다.
  3. 다형성
    • 객체가 연산을 수행 할 때 하나의 행위에 대해 각 객체가 가지고 있는
      고유한 특성에 따라 여러 가지 형태로 재구성되는 것을 의미
  4. 추상화
    • 객체에서 공통된 부분으로 모아 상위 개념으로 새롭게 선언하는 것
    • 공통적이고 중요한 것들을 모아 객체를 모델링
    • ex) 모든 자동차마다 가지고있는 엔진, 타이어, 핸들등의 객체를 모아 자동차 객체를 모델링

'Java & Spring > Java' 카테고리의 다른 글

10일차 - Java강의(제어자, package, import, 상속, this, super)  (0) 2024.07.26
9일차 - Java강의(클래스, 필드, 생성자, 멤버, this)  (0) 2024.07.25
enhanced switch()문  (0) 2024.07.24
7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션)  (0) 2024.07.23
String, StringBuffer, StringBuilder의 차이점  (0) 2024.07.23
  1. ◇ 클래스
'Java & Spring/Java' 카테고리의 다른 글
  • 10일차 - Java강의(제어자, package, import, 상속, this, super)
  • 9일차 - Java강의(클래스, 필드, 생성자, 멤버, this)
  • enhanced switch()문
  • 7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java 유클리드 호제법
    Java 생성자
    java two-pointer
    Java this
    java 멤버
    java
    java 제어자
    java 세수의합
    데이터 타입
    개발로드맵
    java super
    java기초
    데이터 크기
    java enhance switch
    자료구조
    프로그래머스 java 기초 트레이닝
    java arrays.copyofrnage()
    프로그래머스 java 기초트레이닝
    java 메서드
    java 에라토스테네스의 체
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
8일차 - Java강의(객체지향 ☆)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.