본문 바로가기

Java39

abstract(추상 클래스)와 interface의 차이점 두개는 서로 밀접하지만 약간 다름 abstract 클래스는 일반적인 메소드와 다를바없음 앱스트랙트이기때문에 앱스트랙트 메소드를 하위클래스가 상속받아서 사용하도록 강제한다. 앱스트랙스 메소드는 하위클래스에서 오버라이딩 하도록 기대하는 비어있는 내용의 앱스트랙트 메소드가 있지만동시에 실제 구체적인 로직을 가지고있는 메소드나 필드가 존재할수있는것이 앱스트랙스 클래스이다. ◆하나 이상의 추상 method 를 포함하고 있는 클래스 ◆추상 메소드 + 일반 메스도 생 성 불 가 . ---> "상속"받은 후 추상메소드를 "정의"한 후에 생성이 가능해진다. ◆혼자서는 생성이 불가능 하나, 상속받음으로써 생성이 가능해 진다. Main Class public class mainClass { public static void.. 2018. 8. 17.
자바 인터페이스(interface) -interface란 abstract와 final과 함께 대표적인 규제이다.-인터페이스의 역할은 어떠한 A라는 클래스가 있고 그 A 클래스가 특정한 인터페이스 ( I ) 를 사용한다면 그 클래스(A)는 반드시 사용하는 인터페이스( I )의 메소드를 구현해만 사용할 수 있다.-한개의 class가 여러개의 interface를 구현할 수 있다.-반드시 접근 제어자는 public이어야만 한다.-interface도 상속이 가능하다. ex) interface A { //인터페이스 A 선언public void a();} interface B extends A { //인터페이스 B 선언과 동시에 인터페이스A를 상속받음 public void b(); } class C implements.. 2018. 8. 17.
abstract추상화 추상화(Abstract) 추상적이란 것은 눈으로 볼 수 없는 것을 의미한다.추상화는 구체적인 개념으로부터 공통된 부분들만 추려 일반화하는 것을 말한다. 롤이라는 게임은 탑, 미드, 바텀, 정글이라는 포지션으로 구성 된다.그림과 같이 각각의 챔피언들은 공통된 포지션으로 추려져 크게 탑, 미드, 바텀(정글 제외)으로 나눠진다.각각의 챔프들을 추상화한 것이다. 이 때 카밀, 피즈나 제드와 같은 챔프는 눈으로 확인할 수 있지만(생김새 또는 행동) 탑, 미드, 바텀이라는 그 자체는 우리가 눈으로 확인할 수 없다.탑, 미드, 바텀 자체를 눈으로 확인할 수 없듯 추상 클래스는 자바에서 인스턴스화가 불가능하다.자, 그럼 추상 클래스를 사용하는 이유는 무엇일까? 추상 클래스 추상 클래스를 사용하는 .. 2018. 8. 17.