본문 바로가기

JAVA

학점출력 프로그램 -상속

 

  

조건

최대 수강 10명

대학원생은 80점 이상 맞으면 통과 아니면 재수강

학부생은 70점 넘으면 통과 아니면 재수강

점수는 사용자한테 입력받도록 할 것

상속 및 추상클래스, 인터페이스를 사용해서 코드 작성할 것.

코드 시험하는 Driver 클래스를 따로 만들어 실험할 것.

 

굳이 인터페이스 활용하라그러면 만들 수는 있는데 아무리 봐도 그냥 추상 클래스 하나면 될 것 같아서 그냥

추상 클래스만 써서 코드 작성함.

학점을 출력하는 gradep()를 추상클래스 info2한테 받아서 학부생, 대학원생 별로 구현함.

 

근데 문제는 에러가.....  

 

에러 2개.

에러 메세지는 두 개 49번 줄 66번 줄

66번 줄에는 } 넣으라는데 어디에??  그 밑에 에러 설명도 뭔 말인지 원......

49번 줄은 참조변수 배열 생성하는 거뿐인데

그 뒤에 객체 생성해서 각 요소에 저장하는 거고.... 한두 번 쓴 코드가 아닌데... 

 

콘솔에는 이렇게 나옴. 근데 위에 사진 보면 알겠지만 143번 줄에는 에러 표시도 없음.

도대체 뭐가 문제인 건지....

 

아시는 분 댓글 좀 부탁합니다. 

블로그 이제 개설해서 노출은 될까 싶긴 한데 ㅎㅎ

 

 

에러를 제외하고도 코드 자체도 뭔가 조금 더 깔끔하게 짤 수 있을 것 같은데.... 생각이 안 남..

아니 사실 저 정도 메서드 하나 다른 거는 굳이 추상 클래스 상속 안 하고

그냥 메서드 2개 선언해서 대학원생일 경우 gradep1()

학부생일 경우 gradep2() 이렇게 불러오면 끝나는 거라 코드 짜면서도,,,,,, 의구심이.....

 

 

일단 정리하면 

자바 기초. 상속

객체지향 프로그램인 자바에서 상속은 꽤나 중요한 개념

상속, 인터페이스, 다형성

결국은 반복을 피하고 코드 재 사용률을 올려서 유기적인 코드가 되도록 하기 위함.

덤으로 나중에 수정할 때 수정 요소도 좀 줄이고.

 

근데 여전히 인터페이스 활용해서 코드 짜는 건 어려움.

익숙하지 않아서 그런 거겠지만.

 

어쨌든 빈 껍데기 인터페이스 쓰면 

상속으로만으로는 통합관리, 다형성 활용이 어렵던 클래스들을 묶어서 관리할 수 있다는 장점도 있고

설계하는 쪽에서 인터페이스 하나 만들어 놓으면 설계 다 안 끝나도 구현하는 쪽에서 동시에 코드 짤 수도 있고

장점은 확실히 보이는데 흠냐....