728x90
JAVA 객체 지향 프로그래밍 - 2. 남의 클래스 & 남의 인스턴스
OOP(objected Oriented Programming)
System.out.println(Math.PI);
// 결과값 : 3.141592653589793
math라고 하는 클래스에 PI라는 변수가 있는 것이고, 그 변수 안에 3.14의 구체적인 숫자가 적당한 정밀도로 적혀있는 것
System.out.println(Math.PI);
System.out.println(Math.floor(1.8)); // 내림
System.out.println(Math.ceil(1.8)); // 올림
Math는 클래스이고, 클래스 안에는 수학과 관련된 PI라고 하는 변수도 있고 floor,ceil과 같은 메소드들도 들어 있는 것.
즉, 코드가 많아짐에 따라서 서로 연관된 같은 주제를 가지고 있는 변수와 메소드를 그루핑한 껍데기가 클래스
FileWriter f1 = new FileWriter(”data.txt”)
new를 붙이므로써 FileWriter라는 클래스의 복제본f1을 만들겠다
FileWriter f1 = new FileWriter("data.txt"); // new를 붙이므로써 FileWriter라는 클래스의 복제본을 만들겠다
f1.write("Hello");
f1.write("Java");
f1.close();
일회용으로 작업을 끝내면 되는 것들은 메소드나 변수를 클래스에 소속된 그냥 클래스에 있는거 그냥 사용합니다
ex) Math.floor()나 Math.ceil()
하지만 긴 맥락을 가지고 작업해야하는 것들은 클래스를 직접 사용하지 않고 인스턴스를 사용해서 복제본을 사용해서 관리한다
ex) f1인스턴스를 계속 write write close까지 길게 여러번
FileWriter f1 = new FileWriter("data.txt"); // FileWriter의 복사본
f1.write("Hello");
f1.write("Java");
FileWriter f2 = new FileWriter("data2.txt"); // FileWriter의 또 다른 복사본
f2.write("Hello");
f2.write("Java2");
f2.close();
f1.write("!!!"); // 긴 맥락의 작업
f1.close();
아래에서
클래스 : System, Math, FileWriter
인스턴스 : f1, f2
import java.io.FileWriter;
import java.io.IOException;
public class OOP02 {
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"); // FileWriter의 복사본
f1.write("Hello");
f1.write("Java");
FileWriter f2 = new FileWriter("data2.txt"); // FileWriter의 또 다른 복사본
f2.write("Hello");
f2.write("Java2");
f2.close();
f1.write("!!!"); // 긴 맥락의 작업
f1.close();
}
}
728x90
반응형
'JAVA > 생활코딩 JAVA 객체지향' 카테고리의 다른 글
JAVA 객체 지향 프로그래밍 - 5. 인스턴스 (0) | 2022.02.01 |
---|---|
JAVA 객체 지향 프로그래밍 - 4.2. 클래스 - 형식 (0) | 2022.01.31 |
JAVA 객체 지향 프로그래밍 - 4.1. 클래스 - 존재 이유와 기본형식 (0) | 2022.01.31 |
JAVA 객체 지향 프로그래밍 - 3. 변수와 메소드 (0) | 2022.01.31 |
JAVA 객체 지향 프로그래밍 - 1. 수업소개(객체지향+절차지향 개념) (0) | 2022.01.27 |