필드에 값을 넣는 법 2가지
(1) 생성자를 통해 넣기: 외부 변수와 멤버변수(필드)를 구분하기 위해 Person 클래스 내에서는 필드에 this.를 붙인다.
(2) Setter 메소드를 통해 넣기: 필드 각각 setter 메소드를 만들어서 값을 저장한다.
필드 값을 꺼내는 법
(1) 일반 메소드 이용
(2) getter 이용: 필드 각각 getter 메소드를 만들어서 값을 꺼낸다.
I. 예제
1) Person
public class Person {
// 필드 -> private 꼭 넣어줘야함 (은닉화)
// 은닉화 (Hiding) :
private String name;
private String bday;
private String gender;
// 메소드는 public
// 생성자 (Constructor): 객체가 생성될 때 처음 불려지는 특수한 메소드.
// -> 리턴타입이 아예 존재하지 않는다. 클리스명과 동일하며 최초 한번만 호출된다.
public Person() {
System.out.println("응애~~~~~ ");
}
// 생성자 오버로딩 (Constructor Overloading) : 메소드 명은 똑같은데 파라미터의 타입이나 개수가 다를때 일치하는 경
public Person(String name, String bday, String gender) {
System.out.println("파라미터 있는 생성자 ");
this.name = name;
this.bday = bday;
this.gender = gender;
}
// setter, getter, 캡슐화 (Encapsulation): 외부에서는 캡슐화를 통해 필드에 접근한다.
public void setName(String name) {
this.name = name;
}
public void setBday(String bday) {
this.bday = bday;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getName () {
return this.name;
}
public String getBday() {
return this.bday;
}
public String getGender() {
return this.gender;
}
public void sayhi() {
System.out.println("인사하기 ");
}
public void walk() {
System.out.println("걷기 ");
}
public void introduce() {
System.out.println("내 이름은 " + this.name + "이고 성별은 " + this.gender);
}
public void printAge() {
String year = gender.substring(0, 4);
int age = 2023 - Integer.valueOf(year) + 1;
System.out.println("나이는 " + age + "입니다 ");
}
}
2) PersonTest
public class PersonTest {
public static void main(String[] args) {
Person p1 = new Person("바다 ", "19970922 ", "남 " );
// p1.name = "sayitditto";
// p1.bday = "19991122";
// p1.gender = "Female";
p1.setName("sayitditto");
p1.setBday("19991122");
p1.setGender("female");
System.out.println(p1.getName());
System.out.println(p1.getBday());
System.out.println(p1.getGender());
}
}
'Web Developer > JAVA II' 카테고리의 다른 글
3. Inheritance (상속) 예제 (0) | 2023.01.14 |
---|---|
2. Constructor (클래스설계) 연습문제 - 로또 (0) | 2023.01.11 |
2. Constructor (클래스설계) 연습문제 - OMR 카드 (0) | 2023.01.11 |
2. Constructor (클래스설계) 연습문제 - 사각형, 원, 제품관리 (1) | 2023.01.10 |
1. JAVA 2 - Class (클래스) 예제 및 연습문제 (0) | 2023.01.10 |