
속성: 고객 id, 고객 이름, 고객 등급, 보너스 포인트, 보너스 포인트 적립 비율일반 고객의 경우 물품 구매시 1%의 보너스 포인트 적립매출에 더 많은 기여를 하는 단골 고객제품을 살때 10%를 할인해줌보너스 포인트는 제품 가격의 5%를 적립해줌담당 전문 상담원이

새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance)받아서 속성이나 기능을 확장하여 클래스를 구현함이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할때 기존 클래스를 상속class B extends A {}상위 클래스는 하위 클

하위 클래스를 생성하면 상위 클래스가 먼저 생성됨new VIPCustomer()를 호출하면 Customer()가 먼저 호출됨클래스가 상속받은 경우 하위 클래스의 생성자에서는 반드시 상위 클래스의 생성자를 호출해야함Customer.javaVIPCustomer.java하위

오버라이딩(overriding)상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의 할 수 있음VIPCustomer 클래스의 calcPrice()는 할인율이 적용되지 않음재정의 하여 구현

메서드(함수)의 이름은 주소값을 나타냄메서드는 명령어의 set이고, 프로그램이 로드되면 메서드영역(코드영역)에 명령어 set이 위치함해당 메서드가 호출되면, 명령어 set이 있는 주소를 찾아 명령어가 실행됨이때 메서드에 사용하는 변수들은 스택메모리에 위치하게됨따라서 다

하나의 코드가 여러 자료형으로 구현되어 실행되는것같은 코드에서 여러 다른 실행 결과가 나옴정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나다형성을 잘 활용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들수 있음다른 동물을 추가하는 경우상속

일반적인(general) 개념과 구체적인(specific) 개념과의 관계상위 클래스 : 하위 클래스보다 일반적인 개념 ( 예: Employee )하위 클래스 : 상위 클래스보다 구체적인 개념들이 더해짐 ( 예: Engineer, Manager...)상속은 클래스간의 결

업캐스팅된 클래스를 다시 원래 타입으로 형변환하위 클래스로의 형변환은 명시적으로 해야함Customer vs = new VIP Customer(); //묵시적(업캐스팅)VIP Customer vCustomer = (VIPcustomer)vc; //명시적원래 인스턴스의

구현코드 없이 메서드의 선언만 있는 추상메서드(abstract method)를 포함한 클래스메서드 선언(declaration): 반환타입, 메서드 이름, 매개변수로 구성메서드 정의(definition): 메서드 구현(implementation)과 동일한 의미 구현부(b

추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 메서드final로 선언하여 하위 클래스에서 재정의할 수 없게 함프레임워크에서 많이 사용되는 설계 패턴추상 클래스로 선언된 상위 클래스에서 템플릿 메서드를활용하여 전체적인 흐름을 정의하고 하위 클

모든 메서드가 추상 메서드로 선언됨 public abstract모든 변수는 상수로 선언됨 public abstract final(왜냐면 구현할 메소드가 없으니까! 변수가 필요 없음)자바8부터 디폴트 메서드(default method)와 정적 메소드(static meth

클래스나 프로그램이 제공하는 기능을 명시적으로 선언일종의 클라이언트 코드와의 약속이며 클래스나 프로그램이 제공하는 명세(specification)클라이언트 프로그램은 인터페이스에 선언된 메서드 명세만 보고 이를 구현한 클래스를 사용할 수 있다어떤 객체가 하나의 인터페이

하나의 인터페이스를 여러 객체가 구현하게 되면 클라이언트 프로그램은 인터페이스의 매서드를 활용하여 여러 객체의 구현을 사용할 수 있음DB에 회원 정보를 넣는 dao(data access object)를 여러 DB 제품이 지원될 수 있게 구현함환경파일(db.peroper

인터페이스내 모든 변수는 상수(public static final)로 변환된다.아래의 예시처럼 static final 선언을 해주지 않아도 자동으로 그렇게 선언된다모든 선언된 메서드는 추상 메서드(public abstract)이다즉, 모든 메서드는 선언만하고 구현부가

자바의 인터페이스는 구현 코드가 없으므로 하나의 클래스가 여러 인터페이스는 구현할 수 있음디폴트 메서드가 중복 되는 경우 구현하는 클래스에서 재정의 해야함여러 인터페이스를 구현한 클래스는 인터이스 타입으로 형 변환 되는 경우 해당 인터페이스에 선언된 메서드만 사용 가능