KPlay의 코딩 그리고 잡동사니

상속에 대해서2

2020. 10. 6. 00:06

저번글에 이어 Teacher이라는 클래스도 생성하여 Person을 상속받습니다.

private String teacherID;

private int monthSalary; // 월급

private int workedYear; // 연차

인스턴스들을 선언하고

마찬가지로 main같은 함수에서 접근 할 수 있도록 get과 set함수를 선언해줍니다

마찬가지로 Teacher 클래스를 이용해 인스턴스 변수를 만들때 변수들을 한번에 초기화 해줄 수 있는

생성자 또한 만들어줍니다

또 앞선 student 클래스와 마찬가지로 show함수를 만들어줘서

이름, 나이, 키, 몸무게, 교직원번호, 월급, 연차 정보를 출력할 수 있게 해줍니다.

메인함수에 가서 Teacher 인스턴스를 만들고 생성자에 인자를 넣어줘서

show함수를 실행하면 위와같이 나온다.

더 나아가서 가령 한 학교에 학생이 100명있다고 하면 인스턴스를 1부터 100까지 선언해주는건 어렵다

따라서 배열을 이용해서 100개의 인스턴스를 선언

Student[] students = new Student[100];

학생들의 이름, 나이, 키, 몸무게, 학년, 학점이 동일할 일은 없지만

예제이므로 그냥 상수들은 통일하고 변수인 학번만 바꿔주도록 하겠다

그리고, 학번은 문자열이므로 정수인 i 에 + "" 를 해줘서 문자열로 바꿔준다

마지막으로 사용자로부터 학생의 수를 입력받아서 학생의 수만큼 각각의 정보를 입력하게하고

그것을 출력하는 코드를 작성해보자

먼저 입력을 받기위해 Scanner 클래스의 scan이라는 인스턴스를 선언해주고

학생 수를 nextInt()함수로 받는다 (정수이므로)

그 후에 Student클래스의 stduents 인스턴스 배열을 number만큼 선언해주고

for문을 이용해서 각각의 변수들을 선언한다음 next(), nextInt(), nextDouble()등의 함수로 입력받는다

next()는 문자열을 입력받고 nextInt()는 정수, nextDouble()은 double형 실수를 입력받을때 쓴다

다 입력받았으면 Student클래스의 생성자로 매번 초기화해주고

마지막으로 for문으로 students 인스턴스 배열로 show()함수를 실행해

결과를 출력해준다.

이런식으로 입력을 받아서 출력이됩니다

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band