본문 바로가기
728x90
반응형

study/Java305

[Java] 23. 추상클래스 (abstract) package chap7; /* * 추상클래스 * 1. 추상메서드를 메법로 가질 수 있는 클래스 * 2. abstract 예약어로 구현함 * 3. 객체화 불가. * => 상속을 통해서 자손클래스의 객체화를 통해 객체화 가능. * 4. 그외는 일반클래스와 동일함 (생성자, 멤버변수, 멤버메서드, 상속, .....) * * 추상메서드 : 메서드의 선언부만 존재하는 메서드. 구현부가 없다 * => 자손클래스에서 반드시 오버라이딩 해야함. * * shape : 도형클래스 * 멤버변수 : 도형의 종류 (type) * 멤버메서드 : 넓이 area() * 둘레 length() */ abstract class Shape { //추상클래스 String type; Shape(String type) { this.type =.. 2022. 3. 21.
[Java] 22. 상속 Exam2 (각 클래스를 생성하고 출력하기) package chap7; /* * Product 클래스 * 멤버변수 : 가격, 포인트 * 생성자 : 가격을 입력받고, 가격의 10%포인트로 저장 * Tv 클래스 * 생성자 : 가격을 100 설정하기 * toString : "Tv" 리턴 * Computer 클래스 * 생성자 : 가격을 200 설정하기 * toString : "Computer" 리턴 */ class Product { //product 클래스 int price, point; Product(int price) { this.price = price; point = price/10; } } class Tv extends Product { //product에서 상속받는 클레스 Tv() { super(100); } public String toStr.. 2022. 3. 21.
[Java] 22. instanceof 연산자 package chap7; /* * instanceof 연산자 : 객체와 참조변수의 관계를 알려주는 연산자 * if (참조변수 instanceof 객체자료형) * true : 참조변수가 참조하는 객체는 객체자료형으로 형변환이 가능함. * false : 참조변수가 참조하는 객체는 객체자료형으로 형변환이 불가능함. */ public class InstanceOfEx1 { public static void main(String[] args) { Parent3 p = new Child3(); if (p instanceof Child3) { System.out.println("p 참조변수 객체는 Child3 객체임"); } if (p instanceof Parent3) { System.out.println("p .. 2022. 3. 21.
[Java] 22. 상속2 package chap7; /* * 부모클래스의 멤버와 자손클래스의 멤버가 같은 멤버인 경우 * 멤버변수 : 참조변수의 자료형을 따른다. * 멤버메서드 : 객체에 최종 오버라이딩된 메서드가 호출됨. * * 부모클래스의 멤버와 자손클래스의 멤버가 다른 경우 * 부모클래스의 참조변수로 참조시 부모클래스의 멤버만 접근 가능 * 자손클래스의 참조번수로 참조시 부모클래스의 멤버도 접근 가능 */ class Parent3 { int x = 10; void method() { System.out.println("Parent3 클래스의 method"); } } class Child3 extends Parent3 { int x = 20; void method() { System.out.println("Child3 클래스.. 2022. 3. 21.
728x90
반응형