★ 인터페이스 (interface) 클래스의 일종 자료형(변수 생성 가능) 인터페이스 멤버 선언 interface 인터페이스명 {} 멤버 변수 선언 불가능 추상 메소드를 멤버로 가진다. 인터페이스는 추상메소드들의 집합 > 구현 멤버를 가질 수 없다. 구현멤버(변수, 구현부를 가지는 메소드) 소스코드 interface Mouse { void drag(); void click(); void dblclick(); } //인터페이스를 상속받을 때는, implements //The type G300 must implement the inherited abstract method Mouse.drag() //인터페이스를 부모로하는 자식 클래스의 의무!! //- 물려준 추상 메소드의 몸통을 만들어야 한다. > 구현부 ..
★ Inheritance 객체 지향 프로그래밍(Object Oriented Programing) 클래스 > 객체 중심의 프로그래밍 방식 상속 (Inheritance) 부모가 가지는 재산을 자식에게 물려주는 행동 부모(클래스)가 가지는 재산을 자식(클래스)에게 물려주는 행동 상속하는 이유? 비용 절감 코드 재사용 상속관계에 있는 클래스 호칠 부모 클래스 상속 받은 메소드를 수정하는 기술 소스코드 //아빠 + 아들 마주친 상황 OverridingParent hong = new OverridingParent(); hong.name = "홍길동"; hong.hello(); OverridingChild jhong = new OverridingChild(); jhong.name="홍철수"; //jhong.hi();..
★ 사용자 편의를 위한 클래스 사용법 ex1) 요구사항 : 사람의 이름, 나이, 주소, 별명을 입력 받는 클래스 소스코드 설명 클래스를 사용하는 사용자 입장에서, 배열문을 사용하여야 할때, 그 배열문에 대한 사항을 하나하나 다 입력을 하고, toString을 이용하여 출력을 하여야한다. 그러한 불편함을 제거하기위해 배열문에 자동적으로 add를 하여 배열문을 쌓고 출력과 동시에 배열문이 제거되도록 하였다. package com.test.obj; import java.util.Arrays; public class Ex43_Class { public static void main(String[] args) { //Person p1 = new Person(); // //p1.setName("홍길동"); //p1..