본문 바로가기

오버라이딩3

[JAVA 기초] 추상클래스와 추상메서드 (abstract) 추상(abstract)은 '미완성 딱지'와 같다고 보면 된다. 1) '미완성 딱지'가 붙은 클래스(abstract class) 는 '객체 생성'을 하지 못한다. 2) '미완성 딱지'가 붙은 메서드(abstract method) 를 가지고 있는 클래스는"반드시" 미완성 딱지(abstract)를 붙인다. 3) 미완성 메서드(abstract method)의 선언에는, 중괄호{ } 대신에 세미콜론(;)을 쓴다. abstract 클래스나 메소드를 사용하기 위해서는 반드시 상속해서 사용하도록 강제하는 것이 abstract 이다. 즉 추상클래스는 상속을 강제하기 위한 것이며 부모클래스에서는 메소드의 틀만 정해놓고 그 메소드의 실제 동작방법은 상속받은 하위 클래스의 책임으로 위임하고 있다. 다음을 보면 추상(abstr.. 2021. 3. 29.
[JAVA 기초] 자바 다형성(polymorphism) 다형성은 객체지향언어에서 객체의 자료형을 변경하는 것을 말한다. 1 다형성이란? 다형성은 사전적 의미로는 '여러 형태 가지는 성질'을 뜻합니다. 객체지향 개념에서 다형성은 '한 가지 타입이 여러 가지 형태의 인스턴스를 가질 수 있다'라는 의미이다. 특히, 부모타입 변수에는 모든 자식 인스턴스들이 대입될 수 있는데, 이점은 객체지향언어의 중요한 특징 중 하나이다. 지금까지는 인스턴스를 생성하고 참조변수에 할당할 때 인스턴스와 참조변수의 클래스 타입을 동일하게 작성했다. A obj = new A(); 그러나 다형성의 정의에 따라 조상 클래스 타입의 참조변수로 자손 클래스 타입의 객체를 참조할 수도 있다. A obj = new B(); ( 클래스 B가 A를 상속할 때) 클래스 B의 데이터 형이 클래스 A이다... 2021. 3. 12.
[JAVA 기초] 자바 오버라이딩(Overriding) 1 오버라이딩(Overriding) 오버라이딩(Overriding)은 자손클래스에서 부모 클래스로부터 물려받은 메서드를 다시 작성하는 것을 말한다. 다시 작성하는 이유는 부모로부터 메서드를 상속받았지만 자손 클래스에서는 부모와는 다르게 동작해야 할 때도 있기 때문이다. 오버라이딩을 할 때는 부모 클래스의 메서드와 선언부가 일치하는 메서드를 작성해야 한다. class Parents{ void method1(){ // 부모 클래스의 메서드 } } class Child extends Parents{ void method1(){ // 자손 클래스에서 메서드 내용을 재정의 } } 자손 인스턴스에서 오버라이딩을 한 메서드를 호출할 경우 이름이 같은 메서드가 부모 클래스에 있더라도 자손 클래스에서 다시 작성한 메서드.. 2021. 3. 11.