![](https://blog.kakaocdn.net/dn/whIls/btrt6uThgJw/Tnm0LgkU2Cr0Z75PQoekY0/img.png)
참고자료: Youtube - 생활코딩 JAVA1
컴파일과 실행하기
- Compile - 자바 확장자가 붙은 소스코드를 클래스 확장자가 붙은 소스코드로 바꾸는 것
- Run - 클래스 확장자가 붙은 파일을 실행하는 것
- Input - 우리가 실행한 파일에 입력값을 주는 것
API vs UI
📌API: Application Programming Interface, 자바가 기본적으로 제공하는 부품을 이용하는 것
📌UI: User Interface, 사용자가 우리가 만든 프로그램을 조작하기 위해 사용하는 조작장치
👉🏻우리가 만든 프로그램을부품으로 하는 또 다른 프로그램이 있다면 그 때는 API, 사람이 사용한다면 UI
패키지, 클래스, 변수, 메소드
📌패키지>클래스>메소드, 변수
👉🏻패키지: 여러 클래스를 그룹화해서 묶은 것
👉🏻클래스: 여러 메소드와 변수들을 그룹화해서 묶은 것
클래스
📌자바가 가진 클래스 Math를 이용해 기본적인 수학적 공식을 처리할 수 있다.
public class ClassApp {
public static void main(String[] args) {
System.out.println(Math.PI); //3.141592653589793
System.out.println(Math.floor(1.6)); //1.0
System.out.println(Math.ceil(1.6)); //2.0
}
}
👉🏻Math 클래스 사용
- Math.PI - 파이값 출력
- Math.floor - 소숫점 내림
- Math.ceil - 소숫점 올림
인스턴스
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
public class InstanceApp {
public static void main(String[] args) throws IOException {
//new를 이용해 PrintWriter의 복제본을 만들어 p1이라는 변수에 담는것
//p1은 PrintWriter라는 클래스의 인스턴스
//p1에는 아무 데이터나 들어가면 안 되기 때문에 PrintWriter로 데이터타입 지정
PrintWriter p1 = new PrintWriter("result1.txt");
p1.write("Hello 1");
p1.close();
PrintWriter p2 = new PrintWriter("result2.txt");
p2.write("Hello 2");
p2.close();
//인스턴스 사용 이유 : 한 번 인스턴스를 정의내리면 내용을 쓸 때마다 가져다 쓰면 된다.
p1.write("bye 1");
p1.close();
}
📌인스턴스: Constructor를 사용해 Class를 복제한 것을 말한다. Math와 같이 일회성인 클래스는 인스턴스를 정의하지 않고 PrintWriter와 같이 긴 맥락의 작업을 할 때 사용한다.
인스턴스 앞 부분에 클래스 이름을 적어 데이터 타입이 해당 클래스 형식으로 들어가야 함을 나타낸다.
👉🏻new를 이용해 클래스를 복제한다.
✍🏻인스턴스를 왜 사용하는가? 인스턴스 한 번 정의내리면 작업이 필요할 때마다 계속 가져다 쓰면 되기 때문에 편리해지기 때문!
상속
📌클래스의 모든 메서드를 만들기 힘들기 때문에 비슷한 혹은 같은 메서드들이 있는 클래스를 상속해서 새로운 클래스를 만든다.
👉🏻extends: 상속
👉🏻override: 덮어쓰기, 자식 클래스에 부모클래스의 메서드 이름과 같은 메서드가 있을 때 자식 클래스의 메서드를 사용하는데 이를 override했다고 한다.