JAVA Programming

추상클래스란? 앞에 abstract 라고 불리는데 추상클래스가 문법적으로 어떻게 쓰이는지 알수있다 추상클래스 추상메소드를 포함한 클래스이다. 추상 메소드 – 구현 코드가 없이 선언부만 있는 메소드이다. abstract 예약어를 사용한다. 추상클래스는 new (인스턴스화) 할 수 없다. cf) concrete class 명칭할수있다. 추상클래스 구현 메서드와 클래스에 abstract 키워드를 사용한다. 추상 메서드가 포함된 클래스는 추상 클래스로 선언한다. 모든 메소드가 구현되었다고 해도 클래스에 abstract 키워드를 사용하면 추상 클래스이다. 추상클래스 사용하기 추상 클래스는 주로 상속의 상위클래스로 사용된다. 추상메소드 : 하위 클래스가 구현해야 하는 메소드 ( 책임을 위임한다. ) 구현된 메소드 ..
Customer 클래스 package inheritance2; public class Customer { private int customerID; protected String customerName; protected String customerGrade; int bonusPoint; double bonusRatio; public Customer() { initCustomer(); } public Customer (int customerID , String customerName) { // 기본생성자에서 초기화 this.customerID = customerID; this.customerName = customerName; customerGrade = "SILVER"; bonusRatio = 0.01..
다운 캐스팅과 instanceof 하위클래스에서 상위클래스로 업캐스팅 – 묵시적으로 형변환 된다. 다시 원래되로 돌아오는게 다운캐스팅 이라 부른다 반환타입이 상위클래스 경우 자기 형으로 돌아와야 모든 메소드를 사용할수있으니까 하위 클래스로 형변환 , 다운 캐스팅 묵시적으로 상위 클래스 형변환된 인스턴스가 원래 자료형(하위클래스)으로 변환되어야 할 때 다운 캐스팅 이라 한다. 하위 클래스로의 형변환은 명시적으로 되어야 한다. Customer vc = new VIPCustomer(); // 묵시적 형변환 VIPCustomer vCustomer = (VIPCustomer) vc; // 명시적 형변환 명시적으로 VIPCustomer 이라고 알려줘야 한다 이것이 명시적 형변환 Customer vc = new VI..
다형성 이란? 하나의 코드가 여러 자료형으로 구현되어 실행되는 것 같은 코드에서 여러 실행 결과가 나온다. 정보은닉 , 상속 과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나이다 객체지향 프로그래밍의 유연성 , 재활용성 , 유지보수성에 기본이 되는 특징이다. package polymorphism; class Animal{ public void move() { System.out.println("동물이 움직입니다."); } } class Human extends Animal { @Override // 오버라이딩 public void move() { System.out.println("사람이 두발로 걷습니다."); } } class Tiger extends Animal { @Override public..
메소드 오버라이딩 상위클래스에 이미 정의된 메소드의 구현 내용이 하위클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메소드를 재정의 할수 있다. 예제의 Customer 클래스의 calcPrice() 와 VIPCustomer 의 calcPrice() 구현 내용은 할인율과 보너스 포인트 적립 내용 부분의 구현이 다르다 따라서 VIPCustomer클래스는 calcPrice() 메소드를 재정의 해야 한다 . package inheritance; import org.omg.Messaging.SyncScopeHelper; public class Customer { private int customerID; private String customerName; protected String cu..
상위 클래스로의 묵시적 형 변환 ( 업 캐스팅 ) 상위 클래스 형으로 변수를 선언하고 하위 클래스 인스턴스를 생성 할 수 있다. 하위 클래스는 상위 클래스의 타입을 내포하고 있으므로 상위 클래스로 묵시적 형변환이 가능하다 상속 관계에는 모든 하위 클래스는 상위 클래스로 묵시적 형변환이 일어난다. 그 역은 성립되지 않는다. package inheritance; public class CustomerTest { public static void main(String[] args) { Customer customerLee = new Customer(10010, "이순신"); // 상위 클래스 customerLee.setCustomerName("이순신"); customerLee.setCustomerID(1001..
꾸준히개발하자
'JAVA Programming' 카테고리의 글 목록 (16 Page)