자바 소스 해석좀 해주세요..
-
게시물 수정 , 삭제는 로그인 필요
학교 숙제 때문에 그러는데요, 자바 소스 코드하고 답이 있는데 이해를 못하겠네요; 소스 해석좀 해주세요.
문제 : 다음 PersonMain 클래스는 Person형 데이터와 Customer형 데이터를 people 배열에 저장하여 제공하고 출력하는 클래스이다. Person 클래스와 Customer 클래스를 만들어 보자.
- Person 클래스 : 이름, 주민등록번호, 주소 속성을 가진 클래스.
- Customer 클래스 : Person 클래스를 상속 받아 이름, 주민등록번호, 주소, 아이디, 패스워드를 가진 고객 클래스.
public class PersonMainTest{
private Person[] people = new Person[5];
private int index = 0;
public void add(Person person){
people[index++] = person;
}
public Person[] list(){
return people;
}
public static void main(String[] args){
PersonMainTest pm = new PersonMainTest();
Person p = new Person();
p.setName("홍길동");
p.setJumin("111111-1111111");
p.setAddress("용산구");
pm.add(p);
Customer c = new Customer();
c.setId("sunrin");
c.setPasswd("123456");
c.setName("고주몽");
c.setJumin("222222-2222222");
c.setAddress("강남구");
pm.add(c);
c = new Customer("moon", "1234");
pm.add(c);
c = new Customer("a", "b", "c", "d", "e");
pm.add(c);
Person[] people = pm.list();
System.out.println("*** Data List ***");
for( int i = 0; i < people.length; i++)
System.out.println(people[i]);
}
}
<실행결과>
Person Constructor
Person Constructor
Customer Constructor
Person Constructor
Person Constructor
*** Data List ***
Person : 홍길동
Customer : sunrin : 고주몽
Customer : moon : null
Customer : a : c
null
<해답>
1) Person.java
public class Person
{
protected String name;
protected String jumin;
protected String address;
public Person(){
System.out.println("Person Constructor");
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setJumin(String jumin){
if(jumin == null || jumin.equals("")){
System.out.println("주민번호를 입력바람");
return;
}
this.jumin=jumin;
}
public String getJumin(){
return jumin;
}
public void setAddress(String address){
this.address = address;
}
public String getAddress(){
return address;
}
public String toString(){
return "Person : " + name;
}
}
2) Customer.java
public class Customer extends Person{
private String id;
private String passwd;
public Customer(){
this("","");
System.out.println("Customer Constructor");
}
public Customer(String id, String passwd){
setId(id);
setPasswd(passwd);
}
public Customer(String id, String passwd, String name, String jumin, String address){
setId(id);
setPasswd(passwd);
setName(name);
setJumin(jumin);
setAddress(address);
}
public void setId(String id){
this.id = id;
}
public String getId(){
return id;
}
public void setPasswd(String passwd){
this.passwd = passwd;
}
public String getPasswd(){
return passwd;
}
public String toString(){
return "Customer :" + id + ":" + name;
}
}
========================================================================================
여기까지 입니다 -_-;
문제 소스 해석은 필요 없구요, 해답 소스 해석만 해주세요.
각각 줄마다 주석 달아주시면 감사하겠습니다. 급한데 제발 빨리 해주세요 ㅠㅠ 부탁입니다.
학교 숙제 때문에 그러는데요, 자바 소스 코드하고 답이 있는데 이해를 못하겠네요; 소스 해석좀 해주세요.
문제 : 다음 PersonMain 클래스는 Person형 데이터와 Customer형 데이터를 people 배열에 저장하여 제공하고 출력하는 클래스이다. Person 클래스와 Customer 클래스를 만들어 보자.
- Person 클래스 : 이름, 주민등록번호, 주소 속성을 가진 클래스.
- Customer 클래스 : Person 클래스를 상속 받아 이름, 주민등록번호, 주소, 아이디, 패스워드를 가진 고객 클래스.
public class PersonMainTest{
private Person[] people = new Person[5];
private int index = 0;
public void add(Person person){
people[index++] = person;
}
public Person[] list(){
return people;
}
public static void main(String[] args){
PersonMainTest pm = new PersonMainTest();
Person p = new Person();
p.setName("홍길동");
p.setJumin("111111-1111111");
p.setAddress("용산구");
pm.add(p);
Customer c = new Customer();
c.setId("sunrin");
c.setPasswd("123456");
c.setName("고주몽");
c.setJumin("222222-2222222");
c.setAddress("강남구");
pm.add(c);
c = new Customer("moon", "1234");
pm.add(c);
c = new Customer("a", "b", "c", "d", "e");
pm.add(c);
Person[] people = pm.list();
System.out.println("*** Data List ***");
for( int i = 0; i < people.length; i++)
System.out.println(people[i]);
}
}
<실행결과>
Person Constructor
Person Constructor
Customer Constructor
Person Constructor
Person Constructor
*** Data List ***
Person : 홍길동
Customer : sunrin : 고주몽
Customer : moon : null
Customer : a : c
null
<해답>
1) Person.java
public class Person
{
protected String name;
protected String jumin;
protected String address;
public Person(){
System.out.println("Person Constructor");
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setJumin(String jumin){
if(jumin == null || jumin.equals("")){
System.out.println("주민번호를 입력바람");
return;
}
this.jumin=jumin;
}
public String getJumin(){
return jumin;
}
public void setAddress(String address){
this.address = address;
}
public String getAddress(){
return address;
}
public String toString(){
return "Person : " + name;
}
}
2) Customer.java
public class Customer extends Person{
private String id;
private String passwd;
public Customer(){
this("","");
System.out.println("Customer Constructor");
}
public Customer(String id, String passwd){
setId(id);
setPasswd(passwd);
}
public Customer(String id, String passwd, String name, String jumin, String address){
setId(id);
setPasswd(passwd);
setName(name);
setJumin(jumin);
setAddress(address);
}
public void setId(String id){
this.id = id;
}
public String getId(){
return id;
}
public void setPasswd(String passwd){
this.passwd = passwd;
}
public String getPasswd(){
return passwd;
}
public String toString(){
return "Customer :" + id + ":" + name;
}
}
========================================================================================
여기까지 입니다 -_-;
문제 소스 해석은 필요 없구요, 해답 소스 해석만 해주세요.
각각 줄마다 주석 달아주시면 감사하겠습니다. 급한데 제발 빨리 해주세요 ㅠㅠ 부탁입니다.
#자바 소스코드 #자바 소스파일 제출 #자바 소스코드 예제 #자바 소스코드 제출 #자바 소스 #자바 소스파일 확장자 #자바 소스 분석 툴 #자바 소스파일 #자바 소스코드 압축 #자바 소스파일 위치