본문 바로가기

✨ Java/상속(Inheritance)5

자바(JAVA) - 상속(Inheritance) -3 Me 클래스 HTML 삽입 미리보기할 수 없는 소스 Father 클래스 HTML 삽입 미리보기할 수 없는 소스 GrandFather 클래스 HTML 삽입 미리보기할 수 없는 소스 FamilyWork 클래스 HTML 삽입 미리보기할 수 없는 소스 FamilyWork main 메소드가 있는 FamilyWork 클래스에서 Me 객체를 생성해, sleep 메소드를 호출해보았다. Me 하지만 보다시피 Me 클래스에는 sleep 메소드가 없다. 그렇다면 호출이 안되는 것일까? 위 사진을 보면 extends Father이라고 해서 Father의 상속을 받고있는 것을 확인할 수 있다. 그렇다면 Me 클래스는 Father의 클래스 안에 있는 것도 사용할 수 있게 되는 것이다. Father Father에는 sleep() .. 2023. 7. 13.
자바(JAVA) - toString( )과 Object클래스 toString( ) 과 Object 클래스에 대해서 공부하며 추가적으로 몇가지 알아보았다. Object 클래스는 모든 클래스의 최상위 클래스로 모든 클래스는 Object 클래스를 상속받는다. 따라서, 당연히 toString( ) 메소드 또한 Object의 상속을 받아 사용된다. ToStringTest.class 2023. 2. 13.
자바(JAVA) - OverLoding 오버로딩과 Overriding 오버라이딩 (상속) 부모 클래스의 모든 메소드가 자식 클래스에게 맞게 설계되어 있다면 가장 이상적인 상속이지만, 어떤 메소드는 자식 클래스가 사용하기에 적합하지 않을 수 있다. 이러한 메소드는 자식 클래스에서 재정의해서 사용해야한다. 이것을 오버라이딩(Overriding)이라고 한다. 즉, 오버라이딩(Overriding)이란 ? 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것이다. 오버라이딩(Overriding)은 상속 관계뿐만 아니라 인터페이스와 추상 클래스와 같은 다른 상속 관련 개념에서도 사용될 수 있다. 오버라이딩은 상속 관계에 국한되지 않고, 인터페이스(interface)와 추상 클래스(abstract class)와 같은 다른 개념에서도 사용될.. 2023. 2. 13.
자바(JAVA) - 상속(Inheritance) -2 두가지의 예시로 상속에 대해 좀 더 알아보려고 한다. 첫번째로, 동물을 부모클래스로 강아지와 고양이를 예로 들어보았다. Ani.class Cat.class Puppy.class HTML 삽입 미리보기할 수 없는 소스 Cat은 Ani의 자식클래스이고, Puppy도 Ani의 자식클래스이다. 그렇다면 5마리의 동물을 각각 저장할 수 있을까? AnimalManage HTML 삽입 미리보기할 수 없는 소스 1. Ani 클래스로 cages[ ] 라는 배열을 만들어 Ani객체에 5개의 공간을 생성해주었다. Ani는 puppy와 cat 모두 수용할 수 있는 부모 클래스이므로 cages[ ]에 cat이나 puppy 모두 담을 수 있다. 2. cages[ 0 ] , 첫번째 공간에 고양이 한마리를 집어넣고, cages[ 1.. 2023. 2. 13.
자바(JAVA) - 상속(Inheritance) -1 상속(Inheritance)이란? 부모 클래스와 자식 클래스가 있으며 자식 클래스는 부모 클래스를 선택해서, 그 부모의 값을 상속받아 쓸 수 있게된다. 상속 관계의 객체를 생성하면 그 내부에는 부모와 자식이 모두 생성된다. 상속 관계의 객체를 호출할 때, 대상 타입을 정해야한다. 이때 호출자의 타입을 통해 대상 타입을 찾는다. 현재 타입에서 기능을 찾지 못하면 상위 부모 타입으로 기능을 찾아서 실행한다. 찾지 못하면 컴파일 오류 발생. 상속을 왜해? 이미 마련되어 있던 클래스를 재사용해서 만들 수 있기 때문에 개발 시간을 줄여줄 수 있어 매우 효율적(유지 보수성 향상))이다. 상속을 하더라도 자식 클래스가 부모의 모든 것들을 물려받을 수 있는 것은 아니다. 부모 클래스의 private 접근 제한을 갖는 .. 2023. 2. 2.