CLASS & INTERFACE

김형민·2021년 10월 16일
0


자바에서 abstract라고 하면 추상메서드와 추상클래스가 떠오른다..!

추상 메서드란 선언만 되어 있는 메서드를 뜻하는데요

아래의 예로

// 추상메서드
public abstract String getName ();

// 추상메서드 x
public abstract String getName () {
	return "hello";
};

추상 클래스를 상속받은 클래스는 추상클래스 안에 있는 모든 추상 메서드를 구현해야만한다!

인터페이스

  • 모조리 추상메서드
  • 전체적인 틀을 잡고 규칙을 정하는데 중점을 둔 설계도

추상클래스

  • 추상메서드 & 일반메서드 모두 가능
  • 상속받아 기능을 확장하는 컨셉
public class abstract {
    	
        // 인터페이스
        interface human {
        	abstract public void eat(int food)
        }
        
        abstract class cat {
        	
            public void eat(int food){
            	// todo 기능구현, 함수를 완성해주세요~~			
            }
            
        	abstract public void love(String who);
    		abstract public void coding();
        }
        
        class robot extends cat {
        	@Override
            public void love(String who){
            	// todo 기능구현, 함수를 완성해주세요~~	
            }
            
            @Override
            public void coding(){
            	// todo 기능구현, 함수를 완성해주세요~~	
            }
        }
        
        public static void main(String[] args){
        	cat a = new cat();
            robot r = new robot();
        }
                  
}
    

추상 메서드는 @Override사용

추상 클래스는 인스턴스 생성을 할 수 없다!
생성 하고 싶으면 상속받은 class를 사용!

참고 https://www.youtube.com/watch?v=ZXV4XxKFK1A

profile
항해 중인 개발자

0개의 댓글