ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유데미 스타터스 취업 부트캠프 3기 - 백엔드 4주차
    스타터스 백엔드 3기 2022. 12. 16. 21:06

    하루입니다.

     

     


     

    221212

    생성자, 접근제한자, this, super, 상속

    Employee e1 = new Employee();
    Employee e1  = new  Employee();
    클래스명   객체주소참조변수명   객체생성연산자  클래스명();
    생성자호출();

     


    class 사람 {

            이름 나이
            잠자다 밥먹다
    }
    부모클래스
    상위클래스
    super class
    base class

    class 회사원 extends 사람 {

            이름 나이 급여 직급 사번
            잠자다 밥먹다 일하다 출퇴근하다
    }
    - 회사원 클래스는 사람 클래스를 상속받았다.
    - 이는 사람 안의 데이터가 회사원 클래스 안으로 자동 포함됨을 뜻한다.

    class 학생 extends 사람 {

            이름 나이 학번 성적
            잠자다 밥먹다 공부하다 통학하다
    }        
    - 학생  클래스는 사람 클래스를 상속받았다.
    - 이는 사람 안의 데이터가 학생 클래스 안으로 자동 포함됨을 뜻한다.

    - 사람 클래스의 자식 클래스이다.
    - 초등학생 클래스의 부모 클래스이다.

    학생과 회사원의 속성을 모두 가지는 조교 클래스가 있다.

    class 조교 extends 회사원, 학생 {
            이름 나이 학번 성적 급여 직급 사번
            잠자다 밥먹다 공부하다 통학하다 일하다 출퇴근하다
    }        

    불가하다.

    - extends 1개 클래스 상속 : 단일상속
    - extends 2개 클래스 상속 : error
    class 초등학생 extends 학생 {
            현장체험가다
    }
    - 사람 클래스, 학생 클래스를 상속받는다.

     

    class A {
            int i
            void a( ) { }
    }
    1. 객체를 만드는 경우

    class B {
            A a1 = new A();
            a1.i;
    }
      2. 상속받는 경우

    class C extends A {
            // 상속, 변수 자동 포함
    }
    class 학생 extends 사람 학생은 사람"이다"
    is a relatiionship이다. 
    'is a'라면 상속 관계이다.
    class Car {
            전진하다();
            정지하다();
    }

    class Driver {
            운전하다();
            전진하다();
            정지하다();
            Car car = new Car() {
                    car.전진하다();
                    car.정지하다();
            }

    }
    운전자는 자동차 "이다" ?

    운전자는 자동차"를 가지다".

    'has a'라면 소유 관계이다.

    has a relationship이라면 객체를 생성하는 것이 맞다

     

    public protected default(no modifier) private
    모든 클래스에 무제한 현재 패키지 + 나를 상속받은 다른 패키지의 하위 클래스만 사용 가능 현재 패키지 안의 다른 클래스에서만 사용 가능 현재 클래스 내부에서만 사용 가능

     

     

     

     

     

     

    221213

    클래스 형변환, 인터페이스

    https://harutocoding.tistory.com/180

     

    내가 생각하는 추상클래스와 인터페이스의 차이

    1. 객체지향 프로그래밍 객체란 존재하는 모든 것. 핸드폰이라고 한다면 액정, 스피커, 케이스, 색상 등의 상태가 있고, 켠다(); 끈다(); 캡쳐한다(); 등의 행동을 가진다. 객체지향 프로그래밍이란

    harutocoding.tistory.com

    class Parent class Child1 extends Parent class Child2 extends Parent
    Parent p1 = new Parent();
    System.out.println(p1.su);
    p1.print();
    Child1 c1 = new Child1();
    System.out.println(c1.su);
    c1.print();
    Parent p2 = new Child1();
    System.out.println(p2.su);
    p2.print();
    su = 10
    p1.print() = 10
    su = 20
    c1.print() = 20
    su = 10
    p2.print() = 20
    형변환을 했다는 건 앞의 객체를 참조하라는 뜻이다!!! 가리키라는 뜻이다!!!
    - p1이 만들어졌을때 p1은 10번지를 가리킨다.  - parent 객체 먼저 만든다.
    - child1 객체 만든다.
    - c1은 child 가리킨다.
    - child는 parent 가리킨다.
    - parent 객체 먼저 만든다.
    - child1 객체 만든다.
    - p2 변수가 parent를 가리킨다.
    - parent의 su는 10이니까 syso(p2.su)는 10이다.
    - print() 오버라이딩되었기에 child 클래스의 메소드를 사용한다. parent 클래스의 메소드는 감춰진다. 
     

     

     

     

    221214

    내부클래스, 익명클래스

    https://harutocoding.tistory.com/185

     

    자바의 내부클래스와 익명클래스의 이해

    내부클래스(inner class) = 중첩클래스 어디서 어떻게 사용되는지를 모르니까 이해가 잘 되지 않는다. 익명클래스가 많이 사용된다고 하셨는데, 주로 익명클래스의 용도로 사용되는 걸까? 내부클래

    harutocoding.tistory.com

     

     

     

     

    221215

    예외처리, 라이브러리(Object, lang)

    • 예외는 두 가지로 나뉜다. exception을 상속받아 반드시 오류를 수정해야 하는 것, RuntimeException을 상속받아 컴파일러가 체크하지 않는 것. 
    •  try catch finally로 직접 처리가 가능하다.
    •  throw와 throws로 간접처리 + 다형성이 가능하다.
    • 사용자 정의 예외를 만들 수 있다.

     

     

     

     

    221216

    java.lang, java.util

    java.lang.String

    메소드들
         indexOf() ==> int (어디 위치인지)
         charAt() ==> char (어느 문자인지)
         subString() ==> String (위치만큼의 문자열)
         contains() ==> boolean (있는지 없는지)
         join ==> static method라서 뭐 안 만들어도 댐
         StringJoiner ==> 뭐 만들어야 댐
         split ==> 배열[]로 반환된다. 쪼개져서 그럼

     

     

     

     

     


     

     

     

    체력적인 어려움이 느껴지던 한 주였다. 진지하게 운동을 고민하고 있다. 자바, 스프링, 데이터베이스, 네트워크, 알고리즘, 자료구조, 배우지 못한 기술에 대한 욕심이 커져가지만 지금은 매일 한 것을 제대로 소화하는 것에 집중해야 한다. 하고 싶은 건 많은데 시간이 없다. 할 수 있는 걸 하자. 해야 하는 걸 하자.

     

     

     

     


     

       * 유데미 바로가기 : https://bit.ly/3V220ri

       * STARTERS 취업 부트캠프 더 보러가기 : https://blog.naver.com/udemy-wjtb
    본 후기는 유데미-웅진씽크빅 취업 부트캠프 3기 백엔드 과정 학습 일지 리뷰로 작성되었습니다.
Designed by Tistory.