package day6;
public class Example {
//Example one = new Example();
//new는 객체를 생성할 때 사용하는 키워드.
//이렇게 하면 Example 클래스의 인스턴스(instance)인 one, 즉 Example의 객체가 만들어진다.
//클래스에 의해서 만들어진 객체 : 인스턴스.
//인스턴스라는 말은 특정 객체(one)가 어떤 클래스의 객체인지를 관계위주로 설명할 때 사용
String name; //Example 클래스에 Stirng 변수 추가. 클래스에 선언된 변수를 객체변수.
// *객체변수 = 멤버변수= 인스턴스 변수 = 속성
public static void main(String[] args) {
Example one = new Example();
System.out.println(one.name);
}
}
//결과값: null
// 객체변수로 name을 선언했지만 아무런 값도 대입을 하지 않았기 때문에 null이라는 값이 출력됨.
package day6;
//메소드: 클래스 내에 구현된 함수
public class Example2{
String name; //멤버변수 선언
public void setName(String name) { //setName 메소드
this.name = name; //setName 메소드 호출시 this는 바로 cat 객체를 지정한다.
}
public static void main(String[] args) {
Example2 cat = new Example2(); //Example2라는 클래스에서 cat 객체 만듦.
cat.setName("boby"); //boby라는 입력값으로 setName 메소드 호출
//따라서 setName 함수의 입력항목 name에는 boby라는 문자열이 전달.
// 따라서 setName 메소드의 this.name = name; 문장은 this.name = "boby"; 로 해석
//한마디로 객체 cat의 객체 변수 setName에 "boby"라는 값을 대입.
// setName 메소드 내부에 사용된
// this : Method_exp 클래스에 의해서 생성된 객체를 지정.
// Method_exp cat = new Method_exp();
// cat 이라는 객체를 만들고
// cat.setName("boby");
// 위와 같이 cat객체에 의해 setName메소드를 호출하면
// setName 메소드 내부에 선언된 this는 바로 cat객체를 지칭
// 따라서, this.name = "boby" == cat.name = "boby";
System.out.println(cat.name);
}
}
//Method_exp 클래스에 추가된 setName메소드는 다음과 같은 형태의 메소드임.
//입력 : String name
//출력 : void(리턴값 ㄴㄴ)
//-> 입력으로 name이라는 문자열을 받고 출력은 없는 형태의 메소드.
'Language > JAVA' 카테고리의 다른 글
JAVA Inheritance (0) | 2021.07.28 |
---|---|
Method (0) | 2021.07.27 |
method parameter, class, object (0) | 2021.07.27 |
basic quiz #1 (0) | 2021.03.25 |
basic #3 (0) | 2021.03.25 |