반응형
Super의 메서드사용
Backend/java2018. 8. 9. 20:00Super의 메서드사용

Super은 어떠한 변수에만 적용되는 것이 아니고 메서드에서도 적용이 가능합니다. 다음 코드를 보시죠. 조상의 메서드를 참조하는데도 super를 사용합니다. super.getLocation()이 조상인 Point클래스의 getLocation()을 호출하는 것입니다. 전에는 주석처리한 부분처럼 되어 있던 코드를... 조상의 메서드를 이용해서 다시 작성한 거죠. 조상에 정의된 getLocation메서드의 내용이... 이 것이므로... 결국 주석처리한 코드와 같은 내용입니다. 그래도... 오버라이딩할 때는... 가능하면... 이처럼... 조상의 메서드를 호출하는 것이 좋습니다. 이렇게 하는 것이 코드의 재사용성을 높이고... 조상코드가 변경되어도 자동적으로 적용되니까요.

Super의 정의
Backend/java2018. 8. 9. 19:56Super의 정의

This와 Super는 상속관계를 배울 때 많이 사용하게 됩니다. 그 중에서도 Super를 다뤄볼까 합니다. 간단히 This와 Super에 대해서 설명 드리겠습니다. This : 인스턴스 자신을 가르키는 참조 변수 , 인스턴스의 주소가 저장되어 있음 모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재 Super : this와 같음 , 조상의 멤버와 자신의 멤버를 구별하는데 사용 다음 코드를 보시죠. this가 지역변수와 멤버변수를 구별하는 데 사용된 것처럼... super는 상속받은 멤버와 자신의 멤버를 구별하는 데 사용됩니다. 왼쪽 코드 중에서... 위에 있는 코드를 먼저 보면... Parent클래스가 있고...이 클래스를 상속받는 Child클래스가 있습니다. Parent와 Child에 똑같이 멤버변수..

Backend/java2018. 8. 8. 19:56this와 Super의 예제를 통한 이해

package BookApp;public class Book {private String title;private int price;public Book() {this("제목없음",0); // this 는 Book(String title, int priece)에게 이 것좀 해결해줘 라고 맡기는 정도 . // 중복된 Book() 의 해결을 하기 위해서 this 안에 String 과 int형을 써주기 // this는 first statement에 만 해당된다//this.title="제목없음";//this.price= 0 ;// super이 생략되어 있는 것인데 super도 상위에 위치해야 하기 때문에 생략을 한다 . 없는것이 아니다 . }public Book(String title, int price) {/..

Backend/java2018. 8. 8. 19:30this 와 Super의 차이점

상속 공부를 하면서 헷갈렸던 부분이고 용어로 이해를 하니까 너무 어려웠던 부분이 있다. 바로 This와 Super의 차이이다. 먼가 느낌적인 느낌으로 this는 같은 클래스 내에서 전역변수를 의미하고 Super는 상위 부모 클래스를 가르킨다 . 정도로 알고 있었다 . 틀린 말은 아니지만 코딩을 하면서 예매했다. 더 알게 된 점이 있는데 this는 this를 선언해준 클래스내에서 this를 해준 변수를 찾으면서 this를 선언해준 클래스 내에 없다면 상위 클래스로 찾으러 가고Super는 애초에 처음부터 상위 클래스 내애서 찾게 된다는 것이다. 엄청 대단한건 아니지만 그냥 알게된 사실이다.

Backend/java2018. 8. 8. 19:24상속의 정의와 예제를 통한 이해

Is a 관계 ( 상속관계 ) // 사전 조건 Animal은 최상위 부모 클래스 이다 // Dog는 Animal의 자식 클래스이다. 모든 객체의 DataType은 부모가 될 수 있다.Animal d1 = new Dog(); 가능하다 . // 이말은 데이터의 접근이 d1 ( Animal 영역에서만 ) 가능 : 주소가 부모 Type일 때 이렇다. -->접근할 수 있는 영역이 제한된다 ( 자식 클래스 접근 x ) Dog d2 = new Animal() ; 불가능하다 , Animal은 Dog이다 . 상속을 부여하면 하나의 부모 타입으로 두 개의 데이터 타입(자식한테)을 설정할 수 있다.부모클래스 변수 = new 자식클래스(); 메모리 자체에는 자식클래스 까지 올라오지만 가르키는 곳은 부모클래스로 제한..

자격증/OCJP_ExamB2018. 7. 8. 23:30QUESTION 2

QUESTION 2 Given: 1. class ClassA { 2. public int numberOfInstances; 3. protected ClassA(int numberOfInstances) { 4. this.numberOfInstances = numberOfInstances; 5. } 6. } 7. public class ExtendedA extends ClassA { 8. private ExtendedA(int numberOfInstances) { 9. super(numberOfInstances); 10. } 11. public static void main(String[] args) { 12. ExtendedA ext = new ExtendedA(420); 13. System.out.pri..

반응형
image