Car 클래스는 Java19 참고 Class Override Java19 클래스의 상속과 다형성에서 사용했던 class들을 보자 상위 클래스 Car의 메소드 putSpec을 하위 클래스 ExCar에서 새롭게 정의하는 것을 '오버라이드 한다'라고 표현한다. ExCar에서는 추가 및 수정된 필드, 메서드만 선언한다. 이를 증분 프로그래밍(incremental programming)이라고 한다. Car 클래스 class Car{ private String name; private int width; //폭 private int height; //높이 private int length; //길이 private double x; // x좌표 private double y; //y좌표 private ..
분류 전체보기
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtCTcL%2FbtqEnI0P1jl%2FkuUJBZQBbHrqLIzLckoaik%2Fimg.png)
파생(derive) 파생이란 기존 자원을 상속inheritence한 새로운 클래스를 만드는 것이다. 파생시에는 부모 클래스의 필드나 메소드를 추가하거나 덮어쓸 수 있다. 파생하려면 'extends 부모클래스명' 을 클래스 이름 뒤에 명시하여야 한다. super()은 부모 클래스의 생성자를 호출한다. 자식 클래스의 생성자에서 super()을 명시적으로 선언하지 않으면 부모 클래스의 '인수를 받지 않은 생성자'가 자동 생성된다. 다음의 자동차 클래스 Car에 총 주행거리를 나타내는 필드와 그 값을 확인하는 메서드를 추가해서 ExCar 클래스를 작성하자. Car 클래스에서 파생시킬 것. ExCar 메서드에서 totalMileage (총 주행거리) 필드 추가 총 주행거리 getter, putSpec 메서드에 t..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTAW3w%2FbtqElF5JtjO%2Fw3NihBcHQg0h0oqmZQa2u0%2Fimg.png)
래퍼 클래스(wrapper class) 포장하는 것을 래핑이라고 하는데, wrap는 '감싸다'는 의미의 단어이다. 래퍼 클래스는 다음과 같은 목적으로 사용된다. 기본형의 특성 정보를 클래스 변수를 통해 제공한다. 최댓값은 MAX_VALUE, 최솟값은 MIN_VALUE, 비트수 등을 나타내는 클래스변수가 내장되어 있다. 기본형의 값을 지니는 클래스형 인스턴스를 생성할 수 있게 한다. 래퍼 클래스 선언시 new Integer(5)의 형태로 선언하지 않아도 된다. 이를 오토박싱이라고 한다. 각종 처리를 메서드로 제공한다. 예를 들어 래퍼 클레스의 객체에서는 toString 메서드를 제공한다. Integer i = 5; Double d = 3.14; System.out.println(i.toString() + ..
패키지 클래스는 데이터와 메서드를 묶어 캡슐화한 것이다. 패키지는 클랫스를 묶어서 캡슐화한 것이다. 오늘의 운세 프로그램 오늘의 날짜와 대길, 길, 중길, 소길, 흉 중 하나의 운세를 표시하자. import java.util.GregorianCalendar; import java.util.Random; public class LuckyDraw { public static void main(String[] args) { GregorianCalendar today = new GregorianCalendar(); int y = today.get(GregorianCalendar.YEAR); //연 int m = today.get(GregorianCalendar.MONTH) + 1; //월 int d = toda..