반응형
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클래스를 상속받도록" 는 자동적으로 변경됩니..

단일상속 ( single inheritance )
Backend/java2018. 8. 9. 19:23단일상속 ( single inheritance )

java는 단일 상속만을 허용한다 ( C++은 다중상속이 가능하다 ) 예를 들자면 class 가전제품 extends Tv , TCR{ // 위와같은 표현은 불가능 ( java에서는 ) // ... } 자바는 단 하나의 조상으로부터만 상속받을 수 있는데요. 이 것을 단일 상속이라고 합니다. 참고로... 자바보다 먼저 나온 객체지향언어 C++에서는 여러 조상으로부터 상속받을 수 있는 다중상속을 허용합니다. 다중상속을 허용하면 여러 클래스로부터 상속받을 수 있기 때문에 더 쉽게 클래스를 정의할 수 있지만... 조상이 많아질 수록... 상속계층도가 너무 복잡해져서... 클래스간의 관계를 관리하기 어려워집니다. 이렇게 되면... 상속의 장점이 사라져 버리죠... 그리고... 서로 다른 조상으로부터 같은 이름의 멤..

반응형
image