728x90
하나의 클래스로 하나의 객체를 만들면 새로운 주소가 생기고
그 객체엔 data영역과 method 영역이 있다.
예를 들어 객체의 주소가 전주라고 했을 때, 전주로 간다면
데이터 영역에 있는 데이터 값들을 세팅할 수도 있고
세팅되어 있는 데이터 값들을 꺼내와 응용할 수 있다.
객체생성
클래스명() 객체참조변수 = new 클래스명();
좌항: 클래스명 class data type으로 객체참조변수를 선언하고
우항: 클래스명() 생성자 메서드를 호출해서 새로운 객체를 생성한다.
(새로운 객체가 생성되면 새로운 주소가 생성되고, data영역과 method 영역이 생긴다.)
새로운 주소를 객체참조변수에 할당 한다.
> 클래스명() 생성자 메서드로(클래스를 통해) 생성된 객체 주소를 찾아간다.
ex) 객체참조변수.클래스의전역변수 -> u01.uid
접근지정자
만약에 다른클래스의 전역변수의 접근지정자가 private라면?
자기클래스내부에서밖에 접근하지 못하기 때문에 설정자(setters)와 접근자(getters)를 이용해야한다
AA01.java
|
User.java
|
package kr.or.ksmart.A;
public class AA01 {
public static void main(String[] args) {
User u01 = new User();
System.out.println(u01.getUid() + "<-- 입력전");
u01.setUid("uid001");
System.out.println(u01.getUid() + "<-- 입력후");
}
|
package kr.or.ksmart.A;
public class User
private String uid;
public void setUid(String a) {
System.out.println(a + "<- uid setUid User.java");
uid = a;
}
public String getUid() {
return uid;
}
}
|
null<-- 입력전
uid001<- uid setUid User.java
uid001<-- 입력후
|
전역변수와 지역변수의 이름이 같을때 구분하는 방법
전역변수 앞에 this.를 붙인다. (객체 자신을 참조할 수 있는 키워드)
private String uid;
public void setUid(String uid) {
System.out.println(uid + "<- uid setUid User.java");
this.uid = uid;
}
***blooean 타입은 문법적으로 getUid가 아니라 isUid 로 써야함
이클립스 도구 사용하기 오른쪽마우스>source>Generate Getters and Setters
'{ "Hello World!" }; > Java' 카테고리의 다른 글
(Java) 서로다른패키지 서로다른클래스 메서드 선언및호출하기 (0) | 2021.12.12 |
---|---|
(Java) 하나의 패키지 서로 다른 클래스 메서드 선언 및 호출하기 (0) | 2021.12.12 |
(Java) 하나의패키지 하나의클래스 리턴있는 메서드 선언 및 호출 (0) | 2021.12.12 |
(Java) data type, 연산자, if문 (0) | 2021.12.12 |
(Java) 하나의패키지 하나의클래스 리턴없는 메서드 선언 및 호출 (0) | 2021.12.12 |