public class ClassApp {
public static void main(String[] args) {
//수학적 클래스가 필요할 때 Math. 사용
System.out.println(Math.PI); //파이 3.14...
System.out.println(Math.floor(1.6)); // = 1.0 (입력한 숫자의 소숫점 뒤를 0으로 내림 = floor)
System.out.println(Math.ceil(1.6)); // = 2.0 (소숫점 뒤의 숫자를 올림 = ceil)
}
}
클래스란, 서로 연관된 변수와 메소드를 묶어 이름을 붙인 것.
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
public class InstanceApp {
public static void main(String[] args) throws IOException {
PrintWriter p1 = new PrintWriter("result1.txt"); // result1.txt 파일을 생성함
p1.write("Hello 1"); // result1.txt 안에 내용으로 입력됨
p1.close();
PrintWriter p2 = new PrintWriter("result2.txt");
p2.write("Hello 2");
p2.close();
}
}
인스턴스 : 클래스를 통해 객체를 복제하고, new 연산자를 사용한다. 일회용이 아닌 긴 맥락의 작업이 필요한 (동시에 여러가지 작업들이 생기는)상황이라면 하나의 클래스를 복제해서 각각의 다른 상태를 갖고 있는 인스턴스를 만들어서 사용하는 것이 더 효율적이다.
PrintWriter p2 = new PrintWriter("result2.txt");
▶ p2변수에 new PrintWriter("result2.txt")** 클래스를 담았다.**
▶ p2변수에는 PrintWriter의 인스턴스만 들어가야한다고 지정하기 위해 p2 앞에 PrintWriter라고 입력해줬다.
p2.write("Hello 2");
▶ p2는 PrintWriter의 인스턴스이다.
만약 인스턴스를 사용하지 않는다고 한다면 아래 코드처럼 비효율적으로 도출해내야 한다는 것.
PrintWriter.write("result1.txt", "Hello 1");
PrintWriter.write("result2.txt", "Hello 2");
PrintWriter.write("result1.txt", "Hello 1");
PrintWriter.write("result2.txt", "Hello 2");
PrintWriter.write("result1.txt", "Hello 1");
PrintWriter.write("result2.txt", "Hello 2");
클래스 드래그 > 마우스 우측 클릭 > Open Type Hierarchy 에서 상속관계 확인 가능
상속이란, 부모의 메소드를 그대로 물려받는 것. override해서 부모의 메소드를 나(자녀)의 클래스에 재정의할 수 있다.