일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 첫줄
- 권한부여
- 책추천
- 소트라테스익스프레스
- diario
- requestparameter
- 복습!
- 자기계발
- 내장객체영역
- 일상
- 데이로그
- 생크림활용기
- 요청파라미터
- onlyfullgroupby
- final변수
- 테이블생성
- 데이터베이스생성
- 스프링
- InteliJ
- 도전로그
- 종단관심사
- MySQL
- 데일리
- daily
- tㅐ
- 평가용
- 노스마트폰챌린지
- 2챕터독서
- JSP
- 횡단관심사
- Today
- Total
목록Back-End/Java (40)
Emma.log()

우선 Ex 클래스를 생성후에 내부에 Branch 와 Leaf 클래스를 만들고 Leaf 클래스가 Branch를 상속받는다.이런 순서로 출력되는것을 볼수있다. 이부분은 객체 생성후 생성자 호출부분과 비슷하다. 다만 생성자에서는 this() 를 이용했지만 상속의 경우에 상속받은 클래스를 호출할때 super()를 이용해야한다.이번에는 메인에서 객체 Leaf에 값을 대입해서 매개변수 1개짜리 생성자에 값을 대입하려 생성자를 호출하는 구조를 만들었다.여기서 주의할점은 21번라인에 디폴트 생성자는 이미 호출했고, 여기선 같은 클래스 내의 생성자를 호출해야하니까 this()를 사용했다. 그리고 this()가 나오면 굳이 super()는 사용하지 않는다는 점을 주의하자

상속받은 클래스 사용할때 생성자 호출을 좀더 보쟈@@ 이부분 좀 더 유심히 보자. 호출되는 순서이다. /* this.변수 * this.메서드() * this() * this(인자, 인자) * * super * this를 사용하려면 super를 제거하고 사용해야한다 두개같이사용못함 * super. 변수 * super.메서드() * super() * super(인자,인자,..) --- 생성자(부모 클래스의 생성자 호출) * */

상속은 주로 클래스 간에 사용한다.간단히 설명해보자면, 우선 SuperEx 클래스를 생성하고 show1()메서드를 생성한다.그리고 SubEx 클래스를 생성하고 SuperEx 클래스를 상속받는다 상속 --> extends 상속받을 클래스 로 작성하여 상속한다. 이때 메인함수에서 자식 클래스만 객체로 생성해도 부모클래스의 함수까지 사용할수 있다.이번에 오버라이드에 대해 보려고 한다. 오버라이드는 함수의 재정의를 의미한다.@@ 주의해서 볼점이 저 super.show1(); 이부분 이부분이있어야 슈퍼클래스의 메서드도 보이는것이니까 주의해야하고, 오버라이드 메서드 바디 안에 super.show1()을 먼저 써주고 자식클래스 출력문을 써주면 슈퍼클래스 메서드결과값 먼저 나온다

이번에도 생성자 연습을 해보쟝쟝우선 Book클래스 생성해준다. 메인함수는 만들지 않는다. 클래스의 입력은 아래와 같이한다./* -title:String * -author:String * -page:int * +Book() * +Book(title:String, String:author, int:page) * +getter&setter * +toString():String * */** 주의할것이 Book 클래스 처음 작성시 toString 의 리턴값은 우선 null 이나 "" 으로 지정해준다. 왜냐면 처음에 값만 변수만 선언할때는 어떻게 출력될지 보지 못해서 리턴값을 써주기 어렵다. 그리고 ConstructorEx8클래스를 생성해주고 메인함수도 만들어준다. 우선 bk1으로 객체명 선언해주고 bk1 객체를 ..