본문 바로가기

전체 글

(108)
패스트캠퍼스 환급챌린지 45일차 미션 (3월 16일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 다형성 활용(다형성 인수) [2] 다형성 활용(다형성 배열) [1] 다형성 활용(다형성 인수) 다형성 인수 부모 클래스를 활용하면 자식 클래스들을 쉽게 처리할 수 있다. *인수/인자/매개변수 : 메서드 용어 *다형성 인수 : 하나의 타입으로 여러 타입을 받는 것 *Overloading : 메서드의 이름은 같지만, 타입이 다름 Q. Dog와 Cat 클래스를 설계하고 동작시켜 보시오. main() 안에서 만들어진 Dog, Cat 타입을 다른 메서드로 이동하는 방법 *오버로딩(Overloading) : 앞으로 추가 될 다른 타입(토끼, 사자, 하마)을 받기 위한 메서드를 만들어야 함(비효율) *Animal : 자식(Dog, Cat)의 타입을 받음 public class PolyMethodTe..
패스트캠퍼스 환급챌린지 44일차 미션 (3월 15일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 다형성이란? [2] 다형성 이론을 설명하기 위한 전제 조건 [1] 다형성이란? 다형성이란? 객체지향 프로그래밍에서 가장 중요한 이론 다형성을 이해해야 자바 API를 잘 활용할 수 있다. *poly : 다양한, 여러가지 *다형성 : 다양한 형태로 나타낸다. 객체지향 프로그래밍의 특징 (1) 정보 은닉 (2) 상속 (3) 다형성 다형성(Message Polymorphism) 하나의 메세지에 대해 하위 클래스들이 서로 다르게 반응하는 객체지향 원리 상위 클래스가 동일한 메세지로 하위 클래스를 서로 다르게 동작시키는 객체지향 원리 부모 : "꽃 사오세요." 자녀 1 : (집으로 바로 올 수 없는 상황) 꽃을 배달 서비스로 시킨다. 자녀 2 : (집으로 오는 상황) 꽃가게에서 직접 구매한다. 자..
패스트캠퍼스 환급챌린지 43일차 미션 (3월 14일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 부모와 자식간의 형 변환 [2] UpCasting과 DownCasting [1] 부모와 자식간의 형 변환 형 변환 (1) 기본 자료형(PDT) 형 변환 int a = (int) x; (2) 클래스 형 변환 A a = new A(); // 타입 일치 B b = new A(); // 타입 불일치(상속 관계) B b = new A(); 사용자는 B 클래스를 통해 A 클래스를 동작시킬 수 있다. (1) A 클래스와 B 클래스가 상속 관계여야 함 (2) B 클래스의 특정 동작이 A 클래스에 재정의 되어야 함 *A : 자식 클래스, B : 부모 클래스 *B : 사용자와 A 사이의 인터페이스 역할(User → B → A.class) 자식 → 부모(UpCasting, 자동 형 변환) 부모(1) : 자..
패스트캠퍼스 환급챌린지 42일차 미션 (3월 13일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 상속 체이닝과 super [2] 메서드의 재정의(Override) [1] 상속 체이닝과 super 상속 관계에서 객체를 생성할 때 등장하는 개념 상속 체이닝 맨 위 부모 클래스부터 객체가 생성되어 자식까지 연결되는 구조(나보다 부모가 먼저) 상속의 연결 고리가 체인처럼 연결된 형태를 갖는다. super 상위 클래스의 생성자를 호출하는 메서드 생성자 메서드 안에서 반드시 첫 번째 문장에 적어줘야 한다. 자식 클래스가 만들어지기 이전에 부모 클래스가 먼저 만들어져야 한다. 부모 클래스가 만들어지지 않은 상태에서 자식 클래스를 초기화할 수 없기 때문이다. 자식 클래스의 수행문은 부모 클래스가 만들어진 다음 자식 클래스가 만들어질 때 수행된다. 부모 클래스의 기본 생성자를 호출하는 super(..
패스트캠퍼스 환급챌린지 41일차 미션 (3월 12일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 동작 측면에서 클래스 설계하기 [2] 상속 관계에서 객체 생성 방법 [1] 동작 측면에서 클래스 설계하기 클래스의 행위(동작) 정보를 중심으로 클래스와 클래스를 설계(상속)하는 방법 부모 클래스의 동작을 하위 클래스에게 상속하면 하위 클래스도 부모의 행위 정보를 사용할 수 있게 된다. 클래스를 동작하는 측면에서 바라보는 상속(수평적 구조 설계) 비슷한 성격을 갖는 객체는 중복되는 동작이 나오게 될 확률이 높음(공통 분모) (1) 코드의 중복 (2) 유지 보수의 어려움(새로운 요구사항이 발생되면 모든 클래스를 수정해야 함) (3) 확장성 저하 Q. Dog와 Cat클래스를 설계하고 동작시켜 보시오. Dog 클래스와 Cat 클래스는 개와 고양이를 객체화 한 것이므로 동물이라는 공통 분모가 나..
패스트캠퍼스 환급챌린지 40일차 미션 (3월 11일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 상속 관계에서 객체 초기화(1) [2] 상속 관계에서 객체 초기화(2) [3] 학습 정리 퀴즈 [1] 상속 관계에서 객체 초기화(1) 상속 관계에서 생성자를 통해 객체를 초기화하는 방법(정보 은닉 X) 자식 클래스가 접근할 수 있도록 허용하기 위해 protected 접근 제어를 사용한 상태 *protected : 하위(자식) 클래스가 상위(부모) 클래스에 접근 가능한 접근 제한자 *초기화 : 객체에 값을 집어넣는 것 문제점 자식 클래스가 부모 클래스의 상태 정보에 접근하여 데이터를 변경할 수 있음(잘못된 데이터가 들어갈 가능성 높음) 예) RempVO vo = new RempVO("홍길동", 500, "010-1111-1111", "2010.01.01", "홍보부", true); age..
패스트캠퍼스 환급챌린지 39일차 미션 (3월 10일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 메모리를 통한 상속(extends)의 이해 [2] 메모리를 통한 상속(extends)의 이해(실습) [1] 메모리를 통한 상속(extends)의 이해 상속은 메모리를 통해 이해해야 쉽게 이해 가능 부모가 갖는 기억 공간 뿐만 아니라 동작을 자식(하위 클래스)에게 상속하면 자식(하위 클래스)이 부모가 갖는 상태, 행위 정보를 사용할 수 있다. UML에서 표현하는 상속 부모와 자식이 어떻게 메모리에 만들어질까? 사원이 확장되어 일반 사원이 만들어진다. 사원이 확장되어 관리 사원이 만들어진다. 사원이 확장되어 비서 사원이 만들어진다. 사원이 확장되어 일용직 사원이 만들어진다. Employee(사원, 부모 클래스) // super class : 상위 클래스, 부모 클래스(일반화, 추상화, 개념..
패스트캠퍼스 환급챌린지 38일차 미션 (3월 9일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기 강의 내용 [1] 수평적 구조와 수직적 구조의 설계 방법 [2] 클래스를 계층화하여 사용할 때의 장점 [1] 수평적 구조와 수직적 구조의 설계 방법 클래스를 설계하는 방법 Q. 회사의 사원 클래스를 설계(수평적 구조)한다면? 사원 관리 ERP 시스템을 개발한다면 사원의 구조(VO 클래스)를 만들어야 함 사원의 종류가 많다면 사원의 구조(VO 클래스)를 여러 개 만들어야 함 서로 연관이 없는 개별/독립적으로 설계하면 코드에 중복적인 요소가 발생할 가능성이 높다. *공통으로 들어가는 부분 : 이름, 나이, 전화번호, 주소, 입사일, 근무부서 *일반 사원이 갖는 데이터 + 특정 데이터 (1) 모든 클래스에 중복되는 부분을 넣어줘야 함 (2) 새로운 요구사항 발생 시 반영하기 어려움(유지 보수의 어려움) 모든 ..