본문 바로가기

자바 프로그래밍/강의 노트7

상속C 추상 메소드와 추상 클래스 선언되어 있지만 구현되지 않은 메소드, abstract로 선언 public abstract String getName(); public abstract void setName(String s); 2가지 종류의 추상 클래스 사례 추상 메소드를 하나라도 가진 클래스 클래스 앞에 반드시 abstract라고 선언해야 한다. 추상 메소드를 포함하는 추상 클래스 abstract class Shape { public Shape() { public void paint() { draw();} abstract public void draw(); } 추상 메소드가 하나도 없지만 abstract로 선언된 클래스 추상 메소드가 없는 추상 클래스 abstract class MyComponent { St.. 2023. 6. 12.
상속B 업캐스팅(Upcasting) 서브 클래스 객체는 슈퍼 클래스의 멤버를 모두 가지고 있다. 또한 슈퍼 클래스의 객체로 취급할 수 있다. 업캐스팅: 서브 클래스 객체를 슈퍼 클래스 타입으로 변환, 업캐스팅된 레퍼런스는 객체 내에 슈퍼 클래스의 멤버만 접근 가능 class Person{...} class Student extends Person{...} Student s = new Student(); Person p = s; //업캐스팅, 자동타입변환 다운캐스팅(Downcasting) 슈퍼 클래스 변수에 들어있는 레퍼런스를 서브 클래스 타입으로 변환, 개발자의 명시적 타입 변환 필요 class Person {...} class Student extends Person {...} ... Person p = ne.. 2023. 6. 5.
상속A 상속(inheritance) 부모클래스에 만들어진 필드, 메소드를 자식클래스가 물려받음. 상속을 통해 간결한 자식 클래스 작성. 동일한 특성을 재정의할 필요가 없어서 간결해진다. 상속의 장점 클래스의 간결화 - 멤버의 중복 작성이 불필요하다. 클래스 관리 용이 - 클래스들의 계층적 분류 소프트웨어의 생산성 향상 - 클래스 재사용과 확장 용이, 새로운 클래스의 작성 속도가 빠르다. 상속의 특징 클래스의 단일 상속만 지원 상속 횟수는 무제한 상속의 최상위 조상 클래스는 java.lang.Object클래스 - 모든 클래스는 컴파일러에 의해 자동으로 java.lang.Object를 상속받음. 상속 선언 public class Person { ... } public class Student extends Pers.. 2023. 5. 29.
클래스와 객체D non - static member 공간적 특성 - 멤버들은 객체마다 독립적으로 별도 존재(인스턴스 멤버) 시간적 특성 - 필드와 메소드는 객체 생성 후 비로소 사용 가능 비공유 특성 - 멤버들은 다른 객체에 의해 공유되지 않고 배타적이다. static member 공간적 특성 - static 멤버들은 클래스 당 하나만 생성(클래스 멤버) 시간적 특성 - static 맴버들은 클래스가 로딩될 때 공간 할당, 객체를 생성하지 않고 사용가능하다. 공유의 특성 - static 멤버들은 동일한 클래스의 모든 객체에 의해 공유 difference of non - static member and static member static member의 활용 1. 전역 변수와 전역 함수를 만들 때 활용할 수 있다. Mat.. 2023. 5. 22.