Instanceof 인터페이스의 instanceof의 문장은 다음과 같다. if(인스턴스 instanceof (interface or extends class) ) 인스턴스의 클래스가 직접 구현한 interface인지, 아니면 상속받은 클래스가 구현한(간접구현) 것이면 True를 반환한다. package interFaces; interface PrinterA{ void PrintA(String str); } class SimpleP implements PrinterA { @Override public void PrintA(String str) { System.out.println("프린터"); } } class MultiP extends SimpleP{ public void PrintA() { super..
전체 글
천천히, 하나씩인터페이스 원리 인터페이스의 기본 골격은 클래스와 동일하다. 대신 class 대신 interface라 선언 되어있고, 메소드는 몸체없이 마무리된다. interface interF{ public void print(String dog); } 메소드의 몸체가 비어있는 메소드를 가리켜 추상 메소드(Abstract Methods)라 하며 인스턴스 대상으로는 인스턴스 생성이 불가능하다. 다만 클래스에 implements 키워드가 사용되어 상속이 아닌 '구현'의 대상이 된다. 구현할 인터페이스를 명시할 떄는 implements를 사용 한 클래스는 둘 이상의 인터페이스를 구현 가능 상속과 구현은 동시에 가능 두 인터페이스를 선언 package interFaces; public interface Printer{ pub..
상속 코드로 한번에 보기 package 상속; public class Man { String name; public void sayName(){ System.out.println(name); } public int add(int a, int b){ return a+b; } } class BusinessMan extends Man{ //super 키워드는 부모의 객체를 찾는다. public String getParentsName(){ return super.name; } // Man을 상속받아서 sayName을 호출 public void say2(){ sayName(); } @Override // Override = 재정의 public void sayName() { System.out.println("재정..
foreach문은 대부분의 언어에서 지원하며 적절하게 사용한다면 for문 보다 간결하고 좋다. package enhanced_for; public class for_each { public static void main(String[] args) { int[] ar = {1,2,3,4,5}; //for문 for(int i=0; i