반응형 전체 글75 백엔드_객체지향__추상화 / 추상 클래스 추상화란? 위 그림은 피카소가 황소를 추상화 한 것이다. 황소의 그림과 두 지하철 노선도 사진을 보면 추상화라는 게 대충 어떤 느낌인지 알 수 있다. 한마디로 불필요한 거 제거하고 특징만 살리는 것. 우리가 핸드폰으로 보는 지도, 표지판등도 추상화를 한 것이다. 예를 들어서 화장실을 나타내는 이 그림들을 추상화를 시키지 않았다고 해보자 그러면 불필요한 요소들이 많이 들어갈 것이다. 눈 코 입 머리카락 손가락 발가락 움직이는 모습 입고 있는 옷 그러면 그림 하나 그리는데 시간과 비용이 훨씬 많이 들 것이다. 그동안 해왔던 프로그램 실습도 사실 모두 추상화가 되어있던 것이다. 객체지향에서 클래스를 만들 때 새의 특징들만 뽑아온 것도 추상화고 손님과 점원의 관계에서도 불필요한 행동을 빼고 우리가 필요한 것만 .. 2023. 7. 18. 백엔드_객체지향__고객 관리 시스템 실습 백화점 고객관리 시스템 실습 고객 결제 시나리오 1. 손님은 점원에게 가격으로 결제 요청을 한다. 2. 점원은 손님 정보에 기반하여 물품 계산을 한다. (vip는 더 저렴하게) 3. 점원은 자신의 매상에 결제 금액을 추가한다. 4. 기다리는 손님이 남아있다면 다시 1. 을 수행한다. 5. 점원은 오늘 최종 매상을 출력한다. 기본적인 흐름 일반 손님, vip손님, 점원 각각 클래스를 생성한다 각 클래스에 필드(속성)와 메서드(행위)를 생성한다. 인스턴스화를 해주고 실행한다. 테스트 결과 출력 겹치는 부분이 많아서 상속 진행 Customer(부모 클래스) package exersise.chapter_34; public class Customer { //속성 static int serialNums = 1; p.. 2023. 7. 18. 백엔드_자바__다형성(업 캐스팅) 간단한 실습 객체지향에 들어오면서 멘탈이 바사삭.... 됐는데 구글이랑 유튜브 검색을 하면서 추가적으로 더 공부를 하니 다행히 어느 정도 감이 왔다. 그래도 이번에 쓰는 이 다형성에 대해서는 명확히 알지는 못한다. 하지만 클래스를 만들고 필드와 메서드를 구성하고 인스턴스화시키고, 실행을 하는 거까지 아주 간단한 정도는 혼자서도 가능하게 됐다. 아주 간단한 상황을 가지고 구현을 해보자 상황 및 진행 1. 사람, 새, 물고기는 모두 동물이다. (Animal이라는 부모 클래스를 만든다.) public class Animal {} 2. 부모 클래스인 Animal에 공통적인 필드와 메서드를 넣어준다. ( 간단하게 만들 것이기 때문에 필드 : gender, 메서드: eat, sleep로 했다.) public void eat(S.. 2023. 7. 17. 백엔드_자바__객체의 상속 객체의 상속이란? 현실세계의 부모 자식 간의 상속이랑 비슷하다. 부모(상위) 클래스의 필드(속성), 행위(메서드)를 상속받는다. 자식은 여러 부모의 클래스를 상속받을 수 없다. 부모는 여러 자식들에게 클래스 상속을 할 수 있다. 자식은 새로운 필드와 메서드를 추가할 수 있다. 그럼 상속을 사용하는 방법을 보자 여기서 Fish는 부모 클래스이고 FishChild라는 자식 클래스를 만들었다. 밑에 있는 클래스는 그냥 실행을 위한 클래스이다. 자식클래스를 만들었으면 public class FishChild extends Fish{} 이런 식으로 해준다. extends를 쓰고 그 바로 뒤에 부모의 클래스명을 적어준다. 이렇게만 해도 부모 클래스의 필드와 메서드를 가져올 수 있다. 자식 클래스에는 새로 추가한 메.. 2023. 7. 17. 이전 1 2 3 4 ··· 19 다음 반응형