반응형
/*
* < 클래스와 객체 >
* - 객체지향 프로그래밍 : 모든 기능이 객체화되어있음
* : 모든 기능이 설계도(클래스)로 존재한다.
* - 클래스 : 설계도
* 객체(인스턴스) : 설계도대로 할당한 메모리
* 정보 - 멤버변수
* 행동 - 메소드(함수)
* - 객체 생성 == 인스턴스화
* - 객체는 heap에 할당됨(heap은 변수명 지을 수 없음)...
* 객체에 접근하기 위해서는 해당 객체의 주소를 저장해 둔 '레퍼런스 변수'를
* 통해서 접근가능하다.
*/
class Person{
String name = "없음";
int age;
boolean hasPhone = true; // 기본값을 true로 설정하라!
}
public class Test01 {
public static void main(String[] args) {
Person p1;
p1 = new Person();
// new : heap영역에 객체를 생성하고, 그 주소를 반환하라
// Person() : Person모양으로.. (+초기화 기능까지!)
System.out.println(p1.name);
System.out.println(p1.age);
System.out.println(p1.hasPhone);
p1.name = "피카츄";
p1.age = 10;
p1.hasPhone = true;
// . : 접근연산자, "~의" / "~ 소속의"
Person p2 = new Person();
p2.name = "라이츄";
p2.age = 12;
p1 = p2;
System.out.println(p1);// Person@15db9742
// hashCode : JVM이 부여하는 객체의 고유번호
System.out.println(p2);
System.out.println("p1 정보");
System.out.println("이름 : " + p1.name);
System.out.println("나이 : " + p1.age);
System.out.println("핸드폰 유무 : " + p1.hasPhone);
System.out.println("p2 정보");
System.out.println("이름 : " + p2.name);
System.out.println("나이 : " + p2.age);
System.out.println("핸드폰 유무 : " + p2.hasPhone);
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] selection sort(선택 정렬) 예제 (0) | 2023.04.21 |
---|---|
[JAVA] class 사용 예제 (0) | 2023.04.21 |
[JAVA] 객체의 배열 사용 예제 (0) | 2023.04.21 |
[JAVA] 클래스를 활용한 기본 학생성적 확인 예제 (0) | 2023.04.21 |
[JAVA] 객체 사용 예제 (0) | 2023.04.21 |