JAVA 공부 22.11.05

Kim yohan·2022년 11월 5일
0

TIL

목록 보기
6/16

13~16챕터 배열 + 클래스와 상속

  1. 배열 선언
    int[] arr1 = new int[] {1,2,3};
    String[][] arr2 = new String[4][5];

  2. for each문 - python의 in과 유사함.
    for(int i : arr){ ~ }

3.protected는 상속받은 곳에서도 접근가능.
변수를 private로 함수를 protected로 해서 사용하는 예시

4.CBD(Component Based Development)
패키지 혹은 그 이상의 단위로 재사용하는 것을 말함.
클래스 단위는 너무 작기 때문에 상속 개념이 재활용에 큰 의미가 있지 않음.

5.상속 관계
IS-A : Notebook is a Computer.
Notebook이 Computer를 상속 받는 관계 적절.
HAS-A : Police has a Gun.
HAS-A관계는 상속보다는 변수로 가지는 것이 좋다.
JAVA에선 다중 상속을 못하기 때문에, 상속으로는 여러 무기를 소유할 경우를 표현할 수 없다.
또한 해당 무기를 안가지고 있을 경우도 표현해줘야 하기 때문.

  1. Computer com1 = new Notebook();
    가능. 앞에가 크면 가능.
    대신, Computer안의 메소드만 사용가능.

7.CCC extends BBB, BBB extends AAA 관계 일때
CCC ref1 = .. ;
BBB ref2 = ref1; //가능
AAA ref3 = ref1; //가능
큰 곳에 작은 값 넣는 것 가능!!

8.상속관계에서 어떤 함수가 불리는가?
오버라이딩에선 마지막꺼
ex) 7번의 경우 AAA ref1 = new CCC(); 이면
CCC의 메소드 가져와짐!!
단, 파라미터 다른 경우는 오버로딩이기 때문에 조심! 오버로딩, 오버라이딩 구분 잘하기!

9.instanceof 연산자
== 형변환 가능하다면
ex) if(computer1 instanceof notebook1){computer1.openNoteBook();}

profile
꾸준히 성실하게

0개의 댓글