* 잊어먹지 말기!
기본적인 개념 반복학습
setter(ex수정 값을 바꿀 수 있음)메서드와 getter(ex조회 값을 바꿀 수 없음)메서드
getter, setter 은 데이터를 보호하기 위해 사용한다. => Entity(데이터)에 직접접근을 방지
클래스의 상속 => 포함 관계 (엄밀히 얘기하면 클래스의 상속이랑 달라요)헤즈어관계(포함관계) -> 변수로 사용됨클래스의 상속은 다형성이되야뎀티비UserInfo 랑 리모콘u1u1.id = "u001"; 리모콘의 id 누름
리턴 타입 결정! 티비설계도 void return X ,나머지 String int return O
public String toString() <- 주소값0xacd 말고 글자로 출력됨
생성자가 뭐예요?
참고블로그 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=yun4794&logNo=221110665473
[java]자바 강의 25. "생성자"란 무엇인가?
생성자란?우리는 프로그램을 만들 때 변수를 선언하고 반드시 초기화를 해주어야 한다고 알고있다. 만...
blog.naver.com
데이터 정규화과정을 거쳐서 메소드& 기능을 설계해야 한다.
예시) 순서대로 진행하기!
1. 정보나누기
2. 변수생성(길어도 항상 명확하게 적어주세요)
3. 세분화 들어가기 ----기본정보/상세사항/사업자정보
3-1 클래스 새로 만들어서 옮겨놓기 StoreInfo 는 빈상태로 만들기 -> StoreBasicInfo store_basic;
3-2 void 메서드 만들기 StoreBasicInfo
public String toString() 만들기 -기본정보 출력용-
변수 아래에 기본생성자 만들기 public StoreBasicInfo(변수이름){메서드}
3-3 출력해서 확인
4 새로운 클래스 생성 StoreDetailInfo <들어가는 DeliveryBoundary 생성
5 새로운 클래스 생성 StoreBusinessInfo
정규화를 간단하게 한 후 시작
{가게정보]
가게 이미지(썸네일)
가게 이름 <<다름(배민에서보여지는이름)
별점
최소주문금액
결제방법
배달시간(최소, 최대)
배달팁(최소, 최대)
----------------------기본정보StoreBasicInfo
가게소개
영업정보) - 상호명 <<
운영시간(개점 폐점)
휴무일(월~일)
전화번호
배달가능지역
안내사항
주문금액 별 배달팁
------------------------상세사항StoreDetailInfo
사업자정보)-대표자명
상호명 <<
사업자주소
사업자등록번호
-----------------------사업자정보StoreBusinessInfo
위의 정보를 바탕으로 아래와 같이 큰 틀이 설계된다.
## 1. Main ! <-사용자
public class StoreMain {
public static void main(String[] args) {
2. Class <-은닉기능 BasicInfo << 한방에 처리할수있게 (나머지 클래스 생성후
---public class StoreBasicInfo {
>>public class StoreMain {
public static void main(String[] args) {
---StoreInfo store = new StoreInfo();
2-1 배열 - 클래스 생성 <-쉽게 뽑아내려고
public class DeliveryBoundary {
Main ! <-사용자
DeliveryBoundary[] boundaries = {
new DeliveryBoundary(50000, 2000),
new DeliveryBoundary(16000, 3000)
};
3. Class <-은닉기능
public class StoreDetailInfo {
Main ! <-사용자
StoreDetailInfo detailInfo = new StoreDetailInfo(
4. Class <-은닉기능
public class StoreBusinessInfo {
Main ! <-사용자
StoreBusinessInfo businessInfo = new StoreBusinessInfo(
5. StoreInfo 정리 (한방에 나오기 위해)
public class StoreInfo {
StoreBasicInfo store_basic;
StoreDetailInfo store_detail;
StoreBusinessInfo store_business;
public StoreInfo(StoreBasicInfo basic, StoreDetailInfo detail, StoreBusinessInfo business) {
store_basic = basic;
store_detail = detail;
store_business = business;
}
public String toString() {
String str = "";
str += store_basic.toString();
str += store_detail.toString();
str += store_business.toString();
return str;
}
}
6. Main ! <-사용자가 입력만 하면 되도록
public class StoreMaincopy{
public static void main(String[] args) { //Last버전 StoreInfo 에 public StoreInfo 생성하고 store. 다없앤버젼
String[] payments = {"바로 결제", "만나서 결제"};
StoreBasicInfo basicInfo = new StoreBasicInfo(
"store.jpg", "교촌치킨 송현점", 3.9, 16000,
payments, 38, 53, 2000, 3000
);
DeliveryBoundary[] boundaries = {
new DeliveryBoundary(50000, 2000),
new DeliveryBoundary(16000, 3000)
};
StoreDetailInfo detailInfo = new StoreDetailInfo(
"바쁘면 오래 거림, 따뜻한 치킨 배달하겠음",
"교촌치킨 송현1호점", "12:30", "23:35", null, "050-6115-1090", "송현1동 송현2동 본동일부 상인동 대명동",
"포장은 접수번호를 말하세요, 귀찮으면 전번 알려주세요", boundaries
);
StoreBusinessInfo businessInfo = new StoreBusinessInfo(
"노경곤", "교촌치킨 송현1호점", "대구광역시 달서구 송현동 207-2", "514-25-55195"
);
StoreInfo store = new StoreInfo(basicInfo, detailInfo, businessInfo);
System.out.println(store);
}
}
'JAVA SPRING > java' 카테고리의 다른 글
JAVA_008) 클래스와 객체, 클래스의 내부 구성요소(생성자, this키워드, this()메서드) (0) | 2023.04.25 |
---|---|
JAVA_007) 컬렉션 프레임워크 - List, Map, Set (0) | 2023.04.03 |
JAVA_005) 객체지향개념_2 개념적인 메소드 설계&실행 (0) | 2023.03.16 |
JAVA_004) 객체지향개념 (0) | 2023.03.16 |
JAVA_003) 배열 (0) | 2023.01.26 |