본문 바로가기

JAVA/- JAVA 프로그래밍 입문

[JAVA]자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지! DAY-8

내부(inner )클래스 

클래스 안에 또 다른 클래스를 선언하는 것으로 이렇게 하면 두 클래스의 멤버에 쉽게 접근할 수 있다.

객체 안에 또다른 객체 이기 때문에 복잡해질 수 있다. 많이 쓰이지 않는다.

 

 

 

 

 

익명(anonymous) 클래스

이름이 없는 클래스로 주로 매서드를 재정의 하는 목적으로 사용된다.

이름이 없기 때문에 마지막에 어떤 메소드를 오버라이드를 했는지 명시해준다.

 

 

 

 

인터페이스란?

클래스와 달이 객체를 생성할 수는 없으면, 클래스에서 구현해야 하는 작업 명세서이다.

 

클래스에서 인터페이스를 구현하고 기능은 껍데기만 가지고 있는 것이다.

 

 

 

 

 

인터페이스를 사용하는 이유

 

 

 

 

 

 

 

 

 

인터페이스 구현

class 만드는 것처럼 class가 아닌 interface를 생성한다. 메서드를 선언만 한다.

 

 

 

interaceclass를 만들어서 implements에 다른 인터페이스를 넣는다.

 

 

인터페이스의 모든 메서드는 구현을 해줘야 한다.

 

main에서 interfaceA로 만든 iafunA 매서드 밖에 못사용한다. interfaceclass를 만들었지만 interfaceA형 이기 때문

 

 

 

장난감 인터페이스

 

robot과 ariplane의 타입은 모두 Toy이다.

같은 타입만이 배열로 묶일 수 있다.

 

 

 

추상클래스란?

클래스의 공통된 부분을 뽑아서 별도의 클래스(추상클래스)로 만들어 놓고, 이것을 상속해서 사용한다.

 

 

 

추상클래스 구현

클래스 상속과 마찬가지고 extends 키워드를 이용해서 상속하고 abstract(추상) 매서드를 구현한다.

class 앞에 abstract 키워드를 쓴다.

상속받을 class에는 extends 키워드를 쓴다.

 

 

super(i,s)는 상위클래스(AbstractClassEX)의 객체에 매개변수로 받은 i,s로 초기화한다.

 

main에서 쓸 때 부모 class 타입으로 자식 클래스의 초기화를 넣는다.
그러면 부모클래스에서 추상화 시킨 메서드가 구현이 된 상태 객체를 가리킬 것이다.

 

 

 

 

인터페이스 vs 추상클래스

728x90