인터페이스 (Interface)

전영덕·2023년 1월 31일
0

Java Study

목록 보기
24/36

게임캐릭터를 만들 것이다. 주인공이 있고 몬스터가 있다. 내가 주인공과 몬스터의 공동기능을 부모클래스로 뽑아낼 것이다
Unit이라는 부모클래스를 두고 [공격][방어] [걷다][뒤다] [점프][아이템줍기]를 추상화로 설정했다.
근데 몬스턴가 아이템을 주우면 안 되자나?
그리고 공격-방어 비슷하고 걷다-뛰다-점프가 비슷하다.
즉, 한 곳에 모아야겠다라는 생각이 든다. 그래서 나온 결론이다.

1. 추상클래스의 한계(abstract)

자바클래스간에 상속에서는 하나의 부모만 존재할 수 있기 때문에, 앞에 상황에서 요구하는 다중 상속의 구현은 불가능하다.

2. Interface란

  • 완벽한 추상화를 구현하기 위한 java Class의 한 종류
  • 다중 상속이 가능하기 때문에 용도별로 세분화 하여 필요한 요소만 상속할 수 있다.

3. 추상 클래스 vs 인터페이스

  • 추상클래스
    1) 멤버 변수, 생성자, 메서드, 추상메서드를 포함할 수 있다.
    2) 이 클래스를 상속받는 자식 클래스는 다른 클래스를 상속 받을 수 없다.
    3) 객체의 생성이 불가능하다.
  • 인터페이스
    1) 추상 메서드만 포함할 수 있다.
    2) 인터페이스는 다중상속이 가능하다.
    3) 객체의 생성이 불가능하다.
    4) 인터페이스는 --->으로 표현하게됨

4.static

  • 게시판만들기
	public class Article{
		private int num;		//글번호
		private String title;		//제목
		private String regDate	//날짜
}

위와 같이 만들었다. 근데 고객사에서 요청이 왔다.
Article로 객체 a1(글1) 과 a2(글2)를 만들었다.
근데 글1과 글2가 각각 어떤 게시판인지 표현을 해달라는 요청이옴. 그래서 변수를 추가했다.

		private int count;		//전체글수
		private String category;	//카테고리(없을 땐 자유게시판)

0개의 댓글