클래스와 인스턴스는 내부적으로 같다.
인스턴스는 클래스의 복제본으로 이름을 붙여 사용한다.
이름이 다른 인스턴스들은 각각 다른 값을 저장할 수 있다.
클래스를 인스턴스화 하고 싶다면 변수와 메서드에 static이 없어야 한다.
// MyOOP.java
public class MyOOP {
public static void main(String[] args) {
Print p1 = new Print();
p1.delimiter = "----";
p1.A();
p1.A();
p1.B();
p1.B();
Print p2 = new Print();
p2.delimiter = "****";
p2.A();
p2.A();
p2.B();
p2.B();
p1.A();
p2.A();
p1.A();
p2.A();
}
// Print.java
class Print {
public String delimiter = "";
public void A() {
System.out.println(delimiter);
System.out.println("A");
System.out.println("A");
}
public void B() {
System.out.println(delimiter);
System.out.println("B");
System.out.println("B");
}
}
// 결과 값
----
A
A
----
A
A
----
B
B
----
B
B
****
A
A
****
A
A
****
B
B
****
B
B
----
A
A
****
A
A
----
A
A
****
A
A
'Java > 생활코딩' 카테고리의 다른 글
생활코딩 JAVA 상속 (0) | 2022.03.17 |
---|---|
생활코딩 JAVA 객체 지향 프로그래밍 (0) | 2022.03.16 |
메소드 Method (0) | 2022.03.16 |
생활코딩 JAVA 제어문 (0) | 2022.03.15 |
생활코딩 JAVA1 (0) | 2022.03.06 |