코이_CO2
LIVING IS DYING
코이_CO2
전체 방문자
오늘
어제
  • 분류 전체보기 (45)
    • TIL ⚓️ (4)
      • OT주차 (1)
      • 1주차_풀스택 미니 프로젝트 (0)
      • 1주차_언어 기초(Java) (0)
      • 2주차_프로그래밍 기초 (1)
      • 3주차_주특기 입문(Spring) (0)
      • 4주차_주특기 숙련(Spring) (2)
    • WIL ⚓️ (0)
      • OT주차 (0)
      • 1주차_언어 기초(Java) (0)
      • 2주차_프로그래밍 기초 (0)
      • 3주차_주특기 입문(Spring) (0)
      • 4주차_주특기 숙련(Spring) (0)
    • Java의 정석 📖 (4)
      • Chapter 1. 자바를 시작하기 전에 (3)
      • Chapter 2. 변수 (0)
      • Chapter 3. 연산자 (0)
      • Chapter 4. 조건문과 반복문 (1)
    • Programmers (7)
      • Lv. 1 (7)
    • 혼자 공부하는 자바 📖 (8)
      • Chapter 05 참조 타입 (0)
      • Chapter 06 클래스 (3)
      • Chapter 07 상속 (1)
      • Chapter 08 인터페이스 (1)
      • Chapter 09 중첩 클래스 & 인터페이스 (0)
      • Chapter 10 예외 처리 (1)
      • Chapter 12 스레드 (1)
    • Java (2)
    • Spring (1)
    • Python (2)
    • Mysql (4)
    • Machine Learning (6)
      • 추측 통계 (2)
    • Data Analysis (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • java
  • 혼자공부하는자바
  • 항해99
  • TIL
  • 스터디
  • TIL/WIL
  • 스프링
  • HTML
  • 코딩
  • DTO
  • 개발일지
  • Spring Security
  • 개발자
  • CRUD
  • 프로그래머스
  • 주특기 심화주차
  • 게시판 프로젝트
  • programmers
  • 하루기록
  • spring
  • sql
  • 자바
  • 배열
  • 파이썬
  • 혼자 공부하는 자바
  • jwt
  • 부트스트랩
  • LV1
  • 웹개발 종합반
  • PYTHON

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
코이_CO2
Java

객체와 객체 지향 프로그래밍

객체와 객체 지향 프로그래밍
Java

객체와 객체 지향 프로그래밍

2023. 2. 3. 12:10

객체(Object)

의사나 행위가 미치는 대상 (사전적 의미)

구체적, 추상적 데이터의 단위 (학생, 회원, 생산, 주문, 배송 등)

생활 속 객체

  • 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문
  • 아침에 회사에 가는 길에 카페에 들려 아이스 카페라떼를 주문(주문자, 바리스타 등)
  • 성적확인을 위해 학사 관리 시스템에 로그인 하여 수강한 과목들의 성적을 확인(학생, 교수 등)

 

객체 지향 프로그램과 절차 지향 프로그래밍

아침에 일어나 학교를 가는 과정을 예로 들면

절차 지향 프로그래밍

  • 시간이나 사건의 흐름에 따른 프로그래밍
  • 일어난다 -> 씻는다 -> 식사를 한다 -> 버스를 탄다 -> 요금 지불 -> 학교 도착

객체 지향 프로그래밍

  • 실제 세계를 모델링하여 프로그래밍
  • 데이터와 절차를 하나의 덩어리로 묶어서 생각
  • 캡슐화, 상속, 다형성

 

객체 지향 프로그램은 어떻게 구현?

객체를 정의(객체들이 가져야 하는 속성, 특성 등)

각 객체들이 제공하는 기능들을 구현

각 객체가 제공하는 기능들 간 소통(메세지 전달)을 통해 객체간의 협력을 구현

 

클래스는 객체의 청사진

  • 객체의 속성은 클래스의 멤버 변수(member variable)로 선언
  • 학생 클래스
public class Student {
	int studentNumber;
    String studentName;
    int majorCode;
    String majorName;
    int grade;
}
  • 주문 클래스
public class Order {
	int orderId;
    String buyerId;
    String sellerId;
    int productId;
    String orderDate;
}
  • 회원 클래스
public class UserInfo {
	String userId;
    String userPassWord;
    String userName;
    String userAddress;
    int phoneNumber;
}

객체 지향 프로그램을 할 때

  • 객체를 정의
  • 각 객체의 속성을 멤버 변수로 역할을 메서드로 구현
  • 각 객체간의 협력을 구현

클래스 코딩

  • 클래스는 대문자로 시작
  • java 파일 하나에 클래스는 여러 개가 있을 수 있지만, public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일
  • camel notation 방식으로 명명

'Java' 카테고리의 다른 글

Java 언어의 특징  (0) 2022.12.21
  • 객체(Object)
  •  
  • 객체 지향 프로그램과 절차 지향 프로그래밍
  • 객체 지향 프로그램은 어떻게 구현?
'Java' 카테고리의 다른 글
  • Java 언어의 특징
코이_CO2
코이_CO2
나에게 찾아오는 뻔한 매일을 언제나 값지게 여길 줄 아는 내가 되기를
LIVING IS DYING나에게 찾아오는 뻔한 매일을 언제나 값지게 여길 줄 아는 내가 되기를

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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