public class Main {
public static void main(String[] args) {
//person 클래스 설계도 대로 객체를 생성하기
Person p=new Person();
//객체의 값을 대입해주는 기능메소드를 이용하여 멤버값을 대입
p.setMembers("sam", 20);
//객체으 멤버값을 출력하는 기능메소드를 호출
p.show();
//이렇게 기능을 만들면 또다른 객체를 만들때도 편하게 값 대입과 출력이 가능함
Person p2=new Person();
p2.setMembers("robin", 25);
p2.show();
//이런식이면 객체를 생성한 후에 항상 값을 대입하는 기능메소드를
//호출하는 작업이 필요함. 이걸 생략하고 싶은것
//객체를 생성하면서 값을 대입하는 기능을 수행했으면 한다..
//그래서 등장한 문법 : constructor(생성자) method
//객체를 생성 (new)하면 자동으로 호출되는 아주 특별한 메소가 존재함-생성자 메소드
//생성자의 존재를 연습하기 위한 First라는 클래스 만들어 보기
First f=new First();
First f2=new First(10);
System.out.println();
//Person 클래스에 생성자 메소드를 적용해보기
Person p3=new Person("hong", 30);
Person p4=new Person();
p3.show();
p4.show();
Person p5= new Person("park");
p5.show();
Person p6= new Person(23);
p6.show();
//생성자메소드도 접근제한자의 영향을 받음
//확인을 위해 aaa패키지를 만들고 그안에 Secoud라는 클래스를 설계해보기
//aaa.Second s2=new aaa.Second(); //기본생성자를 (default)여거 error
aaa.Second s2=new aaa.Second(100); //ok -public 생성자!!
//그래서 가급적 생성자도 public으로 만드는 것을 권장함!!
//결국 생성자의 존재이유!! 멤버변수의 초기화를 위해서임.
//Java는 객체생성할때 4단계에 걸쳐 초기화를 하고 있음.
aaa.InitialTest obj=new aaa.InitialTest();
System.out.println(obj.a);
'Java 문법' 카테고리의 다른 글
자바 List,Set,Map 기능설명(2) (0) | 2024.01.12 |
---|---|
자바 List,Set,Map 기능설명(1) (0) | 2024.01.12 |
자바 다형성 Polymorphism,Up casting,Down casting (1) | 2024.01.10 |
자바 파이널(final) 문법 사용법 및 주의사항 (0) | 2024.01.10 |
자바 프린트 출력기능(print,println,prinrf) (2) | 2024.01.05 |