반응형
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에 똑같이 멤버변수..

오버라이딩 Vs 오버로딩 의 차이점
Backend/java2018. 8. 9. 19:48오버라이딩 Vs 오버로딩 의 차이점

오버라이딩과 오버로딩의 차이점...참 헷갈리는거 같아서 정리를 해보았습니다. 오버로딩 : 기존에 없는 새로운 메서드를 정의하는 것입니다 ( New ) 오버라이딩 : 상속 받은 메서드를 알맞게 내용을 변경하는 것이다.( Change , Modify ) 다음 코드를 확인 해 보자 . 간단히 얘기해서... 오버로딩은 기존에 없는 완전히 새로운 메서드를 정의하는 것이고... 오버라이딩은 기존의 상속받은 메서드의 내용을 변경하는 것입니다. 즉, 오버로딩과 오버라이딩의 차이는 new와 change의 차이라고 생각하시면 쉽습니다. Parent클래스가 있고... 이를 조상으로 하는 Child클래스가 있을 때... Child 클래스의 어떤 메서드가 오버로딩인지 또는 오버라이딩인지 한번 생각해보세요... 첫번째 메서드는 ..

오버라이딩의 조건은 무엇일까??
Backend/java2018. 8. 9. 19:43오버라이딩의 조건은 무엇일까??

오버라이딩의 조건은 무엇일까?? 1.선언부가 같아야 한다 ( 이름 , 매개변수 , 리턴타입 ) 2.접근제어자를 좁은 범위로 변경할 수 없다.Ex ) 조상의 메서드가 Protected 라면 , 범위가 같거나 넓은 Protected or public 으로만 변경 할 수 있다.3.조상클래스의 메서드보다 많은 수의 예외를 처리할 수 없다.다음 코드를 보자. 오버라이딩을 구현하기 위해서는... 다음과 같이 3가지 조건을 지켜야 합니다. 먼저 선언부가 같아야합니다. 오버라이딩은 메서드의 내용만을 변경하는 것이기 때문에... 선언부는 상속받은 메서드와 정확히 일치해야합니다. 만일 매개변수가 달라지면... 오버라이딩이 아니라 오버로딩이 되어버립니다. 재정의가 아니라 완전히 새로운 메서드가 하나 추가되는 것이지요. 두 ..

오버라이딩(Overriding)이란??
Backend/java2018. 8. 9. 19:36오버라이딩(Overriding)이란??

오버라이딩이란 무엇일까.정의 : 부모클래스로 부터 상속받은 메서드의 내용을 상속받는 클래스에 맞게 변경하는 것을 오버라이딩이라고 한다.사전 의미는 : ~위에 덮어쓰다 , ~에 우선하다 다음 코드를 확인해 보자 .쉽게 말하자면 오버라이딩은... 조상으로부터 상속받은 메서드의 내용을 자손에 맞게 변경하는 것을 말합니다. 조상으로부터 상속받은 메서드를 그대로 사용하기도 하지만... 경우에 따라서는 자손클래스에 맞게 내용을 변경해야 할 때가 있습니다. 그럴 때, 오버라이딩이 필요한 것이죠. 상속 받을 때... 상속받고 싶은 멤버만 임의로 선택할 수 없기 때문에... 조상의 모든 멤버를 무조건 받을 수 밖에 없습니다. 그래서 일단 상속은 받고... 상속받은 메서드와 똑같은 메서드를... 내용만 다르게 해서 자손클..

Object 클래스는 무엇일까 ?
Backend/java2018. 8. 9. 19:30Object 클래스는 무엇일까 ?

Object 클래스는 모든 클래스의 최고조상이라고 표현한다.Object 클래스는 다음과 같이 명시할 수 있습니다.조상이 없는 클래스는 자동적으로 Object클래스를 상속받게 된다.상속계층도의 최상위에는 Object클래스가 위치한다.모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속받는다.Ex ) toString () , equals( Object obj ) , hashCode ... 다음 코드를 보자 . Object클래스는 모든 클래스의 최고 조상입니다. 예를 들어서 왼쪽과 같이... Tv클래스와... Tv클래스를 조상으로 하는 CaptionTv클래스가 정의되어 있을 때... 이 코드를 컴파일 하면... 오른쪽과 같이... "Tv클래스가 Object클래스를 상속받도록" 는 자동적으로 변경됩니..

반응형
image