자바 생성자 오버로딩 질문입니다.
-
게시물 수정 , 삭제는 로그인 필요
문제에서 요구하는게 메소드 오버로딩 개념을 통해 생성자를 만들라는 건데요,
student 클래스의 number와 name, major 라는 속성을 모두 String으로 정의하라고 하거든요?
그런데 아래 예제를 만들어봤는데 컴파일할 때 에러가 나네요.
String,String 이 이미 정의되었다고 하는데
왜 이런 현상이 나타나는 걸까요?
String 값만으로는 아래와 같은 오버로딩이 불가능한가요?
만약 그러면 속성들이 int, String 식으로 배열되면 오버로딩이 될까요?
그리고 아래 예제대로라면 class StudentTest에서 생성자의 값을
Student s1 = new Student("200xxxxx", "Kim ga", "the Korean literature course");
Student s2 = new Student("200xxxxx", "the Korean literature course");
식으로 입력할 때 name과 major의 구분이 안되지 않나요?
이런 상황을 피하기 위해서는 class StudentTest에서 어떤 식으로 입력해줘야 할까요.
class Student
{
private String number = "학번 없음";
private String name = "이름 없음";
private String major = "전공 없음";
Student(){}
Student(String n1, String n2, String m)
{
number = n1;
name = n2;
major = m;
}
Student(String n1, String n2)
{
number = n1;
name = n2;
}
Student(String n1, String m)
{
number = n1;
major = m;
}
Student(String n2, String m)
{
name = n2;
major = m;
}
public void show()
{
System.out.println("number : " + number);
System.out.println("name : " + name);
System.out.println("major : " + major);
}
}
문제에서 요구하는게 메소드 오버로딩 개념을 통해 생성자를 만들라는 건데요,
student 클래스의 number와 name, major 라는 속성을 모두 String으로 정의하라고 하거든요?
그런데 아래 예제를 만들어봤는데 컴파일할 때 에러가 나네요.
String,String 이 이미 정의되었다고 하는데
왜 이런 현상이 나타나는 걸까요?
String 값만으로는 아래와 같은 오버로딩이 불가능한가요?
만약 그러면 속성들이 int, String 식으로 배열되면 오버로딩이 될까요?
그리고 아래 예제대로라면 class StudentTest에서 생성자의 값을
Student s1 = new Student("200xxxxx", "Kim ga", "the Korean literature course");
Student s2 = new Student("200xxxxx", "the Korean literature course");
식으로 입력할 때 name과 major의 구분이 안되지 않나요?
이런 상황을 피하기 위해서는 class StudentTest에서 어떤 식으로 입력해줘야 할까요.
class Student
{
private String number = "학번 없음";
private String name = "이름 없음";
private String major = "전공 없음";
Student(){}
Student(String n1, String n2, String m)
{
number = n1;
name = n2;
major = m;
}
Student(String n1, String n2)
{
number = n1;
name = n2;
}
Student(String n1, String m)
{
number = n1;
major = m;
}
Student(String n2, String m)
{
name = n2;
major = m;
}
public void show()
{
System.out.println("number : " + number);
System.out.println("name : " + name);
System.out.println("major : " + major);
}
}
#자바 생성자 #자바 생성자 오버로딩 #자바 생성자란 #자바 생성자 호출 #자바 생성자 메소드 차이 #자바 생성자 상속 #자바 생성자 만들기 #자바 생성자 this #자바 생성자 초기화 #자바 생성자 단축키