Class : 변수(variable)와 메소드(method)를 모아서 이름 붙인 것. 메소드들을 그룹핑한 것
Package : 서로 연관된 비슷한 성격의 class를 모아서 이름을 붙인 것. 클래스들의 충돌을 해결하기 위한 정리
Public class ClassApp {
public static void main(String[] args){
System.out.println(Math.PI);
System.out.println(Math.floor(1.6));
Systme.out.println(Math.ceil(1.6));
}
}
클래스(Class) : 한 객체의 설계도. 객체를 코드로 구현한 것
인스턴스(Instance) : 출시된 완제품. 클래스의 설계를 바탕으로, 메모리에 구현한 상태. 이 인스턴스를 객체라고 한다.
생성자 (Constructor) : 생성자는 new 연산자를 통해서 인스턴스를 생성할 때, 반드시 호출이 되고 제일 먼저 실행되는 일종의 메소드
- 생성자는 인스턴스 변수(필드 값 등)를 초기화 시키는 역할을 한다.
import java.io.PrintWriter;
public class InstanceApp{
public static void main(String[] args) {
printWriter p1 = new printWriter("result1.txt");
PrintWriter()
: 한 클래스. 뒤의 괄호에 저장하고 싶은 파일명을 입력
p1
: 변수이자, PrintWriter
클래스의 인스턴스. 타입을 제한하기 위해 앞에도 클래스명을 붙여줌
new PrintWriter
의 빨간 줄 → 예외 처리를 안해서 나오는 현상. 예외처리는 나중에 배울 것이므로, 오늘은 빨간 줄 나온 부분을 선택하여 dd throws decalaration
→ IOException
선택
import java.io.PrintWriter;
public class InstanceApp{
public static void main(String[] args) throws IOException{
printWriter p1 = new printWriter("result1.txt");
p1.write("Hello 1");
p1.close();
printWriter p2 = new printWriter("result2.txt");
p1.write("Hello 2");
p1.close();
}
}
Object
: Java의 가장 기본 클래스. 모든 클래스는 Object 클래스를 필수로 상속받음
oveerride : 하위 클래스가 상위 클래스의 메소드를 덮어씌우기도 가능.
클래스를 상속받아 나만의 클래스를 만드는 것도 가능!
이 상속 관계는 공식 문서의 trees에서 확인 가능하다.