new 는 클래스를 복제하여 그것을 제어하는 것이다
Class 란 Method 와 Variable 을 그룹핑 하여 껍데기를 씌운 것이고 Instance 는 Class 에게 new를 붙혀서 Class 의 기능의 복제본을 만드는 것이다.
import java.io.FileWriter;
import java.io.IOException;
public class OthersOOP {
public static void main(String[] args) throws IOException {
// class : System, Math, FileWriter
// instance : f1, f2
System.out.println(Math.PI);
System.out.println(Math.floor(1.8));
System.out.println(Math.ceil(1.8));
FileWriter f1 = new FileWriter("data.txt");
f1.write("Hello");
f1.write(" Java");
FileWriter f2 = new FileWriter("data2.txt");
f2.write("Hello");
f2.write(" Java");
f2.close();
f1.write("!!!");
f1.close();
}
}
변수와 메소드
public class MyOOP {
public static void main(String[] args) {
delimiter = "----";
printA();
printA();
printB();
printB();
delimiter = "****";
printA();
printA();
printB();
printB();
}
public static String delimiter = "";
public static void printA() {
System.out.println(delimiter);
System.out.println("A");
System.out.println("A");
}
public static void printB() {
System.out.println(delimiter);
System.out.println("B");
System.out.println("B");
}
}
클래스
Class는 연관된 Method와 Variable을 묶어 하나의 이름을 갖는 객체로 만든다.
Method와 Variable 앞에 Class 이름을 붙여 이름만으로도 내용을 알수 있게 가독성을 향상시킨다.
Main Class와 함께 내장된 Class를 외부에 독립시켜 다른 App에서도 사용 할 수 있게 한다.
class Print{
public static String delimiter = "";
public static void A() {
System.out.println(delimiter);
System.out.println("A");
System.out.println("A");
}
public static void B() {
System.out.println(delimiter);
System.out.println("B");
System.out.println("B");
}
}
public class MyOOP {
public static void main(String[] args) {
Print.delimiter = "----";
Print.A();
Print.A();
Print.B();
Print.B();
Print.delimiter = "****";
Print.A();
Print.A();
Print.B();
Print.B();
}
}
Print를 따로 만들어 보관할 수 있다
class Print {
public static String delimiter = "";
public static void A() {
System.out.println(delimiter);
System.out.println("A");
System.out.println("A");
}
public static void B() {
System.out.println(delimiter);
System.out.println("B");
System.out.println("B");
}
}
public class MyOOP {
public static void main(String[] args) {
Print.delimiter = "----";
Print.A();
Print.A();
Print.B();
Print.B();
Print.delimiter = "****";
Print.A();
Print.A();
Print.B();
Print.B();
}
}