JAVA

22/04/12 JAVA 10 (Class 2 생성자, 접근지정)

박도치 2022. 4. 12. 22:19

클래스 생성자: new 인스턴스를 통해 호출되는 일종의 메소드지만 메소드와 차이가 있는데 1. Class와 이름이 같으며 2. return값이 없다는 점이 메소드와의 다른점이다.

 

생성자에는 기본생성자, 사용자 지정 생성자, 전체 생성자로 나뉜다.

 

1. 기본 생성자(no argument contructor): 가장 기본적인 생성자로 다른 명령 없이 출력하는 것이다.

 

기본 생성자

 

 

2. 사용자 지정 생성자(argument constructor): 사용자가 변수를 지정하여 그 값을 생성하여 출력하는 것을 말한다.

 

사용자 지정 생성자

 

3. 전체 생성자(All argument constructor): 사용자가 지정했던 모든 인스턴스를 지정하여 생성해주는 것을 말한다. 전체 생성자의 경우 일일히 타이핑할 수도 있지만 alt + shift + s 를 통해서도 할 수 있다.

Generate Constructor using Fields를 눌러 만들면 된다.

 

전체 생성자

위에서 this를 사용한 이유는 this를 쓰지 않았을 경우 전역변수보다 지역변수가 우선시 되기 때문에 전역변수를 사용하기 위해서 this를 써준 것이다.

 

접근지정자: 클래스의 멤버 각각에 외부에서 접근할 수 있는 범위를 지정하는 접근 지정자를 둘 수 있다. 접근지정자는 다음 네가지가 있다.

 

public은 전체적으로 제한이 없으며 protected는 다른 패키지는 안되지만 다른패키지의 상속받은 자식 클래스 까지는 허용할 수 있으며 default 는 동일 패키지 내에서만, private은 동일 클래스 내에서만 가능하다.

이전 글에서 서술했던 객체지향적 언어의 특징중 캡슐화는 private이 대표적이라고 했었는데, 대부분 코딩에서는 데이터은닉을 위해 private을 사용해준다.

 

 

getter setter 사용법

setter는 값을 입력할 수 있기 때문에 지정해주는 역할이고 get은 값을 얻어와서 데이터를 읽어주는 역할을 한다. getter는 값을 얻어와주는 역할이기 때문에 return 이 필요한 반면에 set은 입력하면 되기 때문에 별도로 return할 필요가 없다.

setter로 "홍길동"이라는 값을 지정해주고 이를 username이라는 변수로 바꿔서 출력해도 돼고 곧바로 get을 이용해 출력해도 된다.

 

getter와 setter를 일일히 입력해도 되지만 alt + shift + s 를 이용해 불러올 수도 있다.

Generate Getter and Setter 를 눌러 체크박스를 체크하면 알아서 만들어준다.