반응형 비전공개발67 자바(Java) - 추상 클래스 사전적 의미로 추상(abstract)는 실체 간에 공통되는 특성을 추출한 것을 말한다. 클래스에서도 추상 클래스가 존재한다. 추상 클래스 클래스들의 공통적인 특성을 추출해서 선언한 클래스 실체 클래스(객체 생성용 클래스)들의 공통적인 특성(필드, 메소드)을 추출하여 선언한 것이다. 추상클래스와 실체 클래스는 상속의 관계를 갖고 있다. 추상 클래스가 부모, 실체 클래스가 자식으로 구현되어 실체 클래스는 추상 클래스의 모든 특성을 물려받고, 추가적인 특성을 갖을 수 있다. 추상 클래스의 용도 실체 클래스에 반드시 존재해야할 필드와 메소드의 선언(실체 클래스의 설계 규격-객체생성용이 아니다) 실체 클래스에는 공통된 내용은 빠르게 물려받고, 다른 점만 선언하면 되므로 시간 절약을 할 수 있다. 공통된 필드와 메.. 2020. 11. 9. 자바(Java) - 강제 타입 변환 강제 타입 변환(casting) 부모 타입을 자식 타입으로 변환 하는 것 자식 타입이 부모 타입으로 자동 타입 변환 후 다시 자식 타입으로 변환할 때 강제 타입 변환을 사용 할 수 있다. 자식타입 변수 = (자식타입) 부모타입; 부모 타입을 자식 타입으로 변환 Parent parent = new Child();//자동 타입 변환 Child child = (Child) parent;//강제 타입 변환 예시1) 강제 타입 변환 부모 클래스 public class Parent { public String field1; public void method1() { System.out.println("Parent-method1()"); } public void method2() { System.out.println.. 2020. 11. 5. 자바(Java) - 필드의 다형성 다형성 2020. 11. 5. 자바(Java) - 상속3 (메소드 재정의) 자바 프로그램을 개발할때 가장 중요한 기술적인 요소 중 하나인 메소드 재정의 이다. 메소드 재정의(오버라이딩 overriding) 부모 클래스의 메소드가 자식 클래스에서 사용하기에 부적합할 경우 클래스에서 수정하여 사용 한는 것이다. 메소드 재정의 방법 부모의 메소드와 동일한 시그니처(리턴타입, 메소드 이름, 매개 변수 목록)를 가져야 한다. 접근 제한을 더 강하게 재정의할 수 없다.(접근제한자) 새로운 예외(Exception)를 throws할 수 없다. 메소드가 재정의될 경우 부모 객체 메소드는 숨겨지기 때문에, 자식 객체에서 메소드를 호출하면 재정의된 자식 메소드가 호출 된다. 예시1) 부모 클래스 public class Calculator { double areaCircle(double r) { S.. 2020. 11. 2. 자바(Java) - 상속2 (부모 생성자 호출) 부모 생성자 호출 자식 객체 생성할때 부모 객체가 먼저 생성되고 그 다음 자식 객체가 생성된다. 자식 생성자의 맨 첫 줄에서 부모 생성자가 호출된다. public DmbCellPhone(){ super(); } public CellPhone(){ ... } 명시적으로 부모 생성자를 호출하려는 경우 자식클래스(매개변수언언, ...){ super(매개값, ...); } 예시1) 부모 클래스 public class People { public String name; public String ssn; public People(String name, String ssn) { this.name = name; this.ssn = ssn; } } 자식 클래스 public class Student extends Peop.. 2020. 10. 28. 자바(Java) - 상속1 (클래스 상속) 현실에서 상속은 부모가 자식에게 물려주는 행위 이다. 동일하게 객체지향 프로그래밍에서도 부모 클래스의 멤버를 자식 클래스에게 물려줄 수 있다. 부모 클래스 = 상위 클래스 자식 클래스 = 하위 클래스 상속(inheritance)은 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 콛를 줄여준다. 상속을 이용하면, 부모 클래스의 수정으로 모든 자식 클래스들도 수정되는 효과를 가져오기 때문에 유지 보수 시간을 최소화할 수 있다. 클래스 상속 프로그램에서 상속은 자식 클래스를 선언할 때 어떤 부모 클래스를 상복 받을 것인지 결정하고, 선택된 부모 클래스는 다음과 같이 extends 뒤에 기술 한다. class 자식클래스 extends 부모클래스{ //필드 //생성자 //메소드 } 여러.. 2020. 10. 26. 이전 1 2 3 4 5 6 7 ··· 12 다음 728x90 반응형 LIST