교육 8일차

권재현·2021년 3월 24일
0

교육

목록 보기
6/49

7일차는 하루종일 개미수열만.....그래서 남길게 없었다ㅠㅠㅠ
나를 절망으로 빠져들게한 개미수열로..........ㅋㅋㅋㅋㅋ오랜만에 마주하는 깊은 절망에 빠진 내 자신을 만났다. 그래서 알고리즘에 대해 공부해야 겠다고 다시 한번 다짐....교육이 끝날때즘에 개미수열을 극복한다!!!!!

다차원 배열

2차원 배열

  • 이해하기 쉽게 그려보자 아파트로 생각하자(몇층 몇호)

3차원배열

  • 똑같이 그려보자 (몇동 몇층 몇호)

상속 -클래스간 발생

  • 내용을 물려 받는다.

    • 1 : 1 관계로 이루어짐(자식기준)
  • 사용 양식

    • 접근 권한 class 클래스명 extends 부모 클래스명{<--상속

      ​              내용

      }

  • super : 부모클래스

    • 상속 받은 곳에서만 사용 가능

      		public class Test14P {
      		String s = "부모가 가지고 있는 것";
      	
      		public void p() {
      		System.out.println("부모 메소드");
      	}
      }
      public class Test14C extends Test14P {
      
      		//상속은 자식기준으로 생각한다.
      		String s = "자식의 반란";
      	
      		public String getPs() {
      		// super : 부모 클래스, 상속 받은 곳에서만 사용가능
      		return super.s;
      		
      	}
      
      		public void p() {  //오버라이딩
      			System.out.println("자식이 덮어쓴 메소드");
      		}
      }```

오버라이딩과 오버로딩

메소드 오버라이딩 - 상속받은 메소드를 덮어 씌운다.

  • 개념: 재정의(update)

  • 공간 : 상속 관계

  • 규칙 : 반환타입, 메소드명, 인자개수, 인자 타입이 동일

    • 접근 권한은 넓어질 수 있다.
    • 예외 처리는 좁아질 수 있다.

메소드 오버로딩 - 이름만 같은 여러 메소드

  • 개념: 신규(New)

  • 공간 : 같은 클래스 내부

  • 규칙 : 이름만 동일, 인자타입, 인자개수가 달라야 함, 반환타입도 바뀔 수 있음.(선택적 부분)

    • ex : println을 생각하자 사용예시 Test01

부모와 자식 객체생성방식에 따른 관계

  • 선언부는 형태, 담는 그릇 으로 생각

  • 뒤에 할당은 갖고있는 기능 ,음식이라고 생각하자

    • ex) a그릇에 b음식의 양을 다 담을 수 없다.

    • 부모의 요구는 자식이 다 채울 수 있고

    • 자식의 요구는 부모가 다 채울 수없다.

      public class Test14 {
      	
      	public static void main(String[] args) {
      		Test14C tc = new Test14C();
      		
      		System.out.println(tc.s);
      		System.out.println(tc.getPs());
      
      		tc.p();
      		//부모, 부모
      		Test14P tp1 = new Test14P();
      		// 자식 , 자식
      		Test14C tc1 = new Test14C();
      		// 부모, 자식
      		Test14P tp2 = new Test14C();
      		// 자식, 부모
      //		Test14C tc2 = new Test14P(); 오류 발생
      		
      		tp2.p();
      		// 객체 --> 객체 형변환 시 캐스팅. 일반적으로 상속관계
      		System.out.println(((Test14C) tp2).getPs()); 
             //다운캐스팅. 부모의 형태를 자식의 형태로 변환.
      	}
      }

java.lang.Object

Java의 (빨간색강조)최상위 클래스. 모든 클래스는 오브젝트의 내용을
상속 받고있다.

  • 기본적으로 object클래스는 생략가능.

인터페이스

- 틀,형태 => 내용을 가질 수 없다.

  • 사용이유 : 틀과 형태를 유지하기 위해서, 개발 가이드 제시

  • 형태 : 접근권한 interface 인터페이스명{

    ​ 내용=> 내용에 존재하는 메소드들은 내용을 가질 수 없다.

    }

  • 사용하려면 참조 1:n 관계가 가능. 형태를 가져온다.

  • 형태: 접근권한 class 클래스명 implements 인터페이스명,....{

    ​ 내용 => 참조된 내용의 메소드들은 무조건 재정의 해야한다.

    ​ }

    implements가 나오면 무조건 참조!!!

    인터페이스파일 이름 지을 때 I(대문자)+클래스이름

    public class Test15 implements ITest15 {
    	// @ - Annotation(어노테이션) : 지시자
    	@Override
    	public void test() {
    		System.out.println("재정의 했다!");
    
    	}	
    }
// 인터페이스 파일
public interface ITest15 {

	public void test();
}

  

8일차 후기
오늘 배운 개념적인 부분은 핵심적인 부분 이라서 이해할 부분도 많아서 수업내내 머리가 바쁘게 돌아갔고, 후반부에 문제 3문제가 나왔는데, 풀 때마다 아직 내가 알고리즘을 사고하는 방식이 부족함을 느끼고, 선생님께서 차근차근 하나 씩 풀면 된다고 하시지만 차근차근 무엇을 풀어야할지 생각이 안난다. 굉장히 답답하다 하지만 포기는 없다. 꾸준히 하다보면 나아질거라는 희망 갖고 계속 간다.

profile
호텔리어 출신 비전공자

0개의 댓글