Java/[패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍

Ch 02. 객체 지향 입문 - 02. 생활 속에서 객체 찾아 클래스로 구현해 보기

hinote 2022. 12. 30. 00:12

요즘 많은 시스템들이 객체지향 프로그래밍으로 구현이 되어있다(웹서비스들이 특히 그러함)

 

객체를 찾아 봅시다

  • 온라인 쇼핑몰에 회원 로그인을 하고 여러 판매자가 판매하고 있는 제품 중 하나를 골라 주문을 한다
    -> 회원, 판매자, 제품, 주문

  • 아침에 회사에 가는 길에 별다방 커피숍에 들려 아이스 카페라떼를 주문했다
    -> 나, 회사, 커피숍, 커피, 바리스타, 주문

  • 성적확인을 위해 학사 관리 시스템에 로그인 하여 수강 한 과목들의 성적을 확인했다
    -> 회원(학생), 수강과목, 교수, 강의, 성적산출을 위한 통계자료

 

 

클래스는 객체의 청사진(blueprint) 입니다

클래스를 만든다는 것은 해당 객체를 추상화해서 코딩하는 것

 

  • 객체의 속성은 클래스의 멤버 변수(member variable)로 선언 함
    (다른말로 이렇게 학번 이름 등의 속성을 모아놓은 것을 멤버 변수라고 함)

  • 학생 클래스
public class Student {

	int studentNumber; //학번
	String studentName; //이름
	int majorCode; //전공과목 코드
	String majorName; //전공명
	int grade; //학점
}

int studentNumber;를 public int studentNumber;로 입력한다면?
-public(접근제어자) 역할은 클래스 외부에서 소속되어있는 변수나 클래스를 향한 접근 권한을 지정하는 것

(추후 설명)

 

 

  • 주문 클래스
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 방식으로 명명
  • 변수 이름은 소문자로 시작하는 게 좋음
  • 매서드 이름도 소문자로 시작할 예정