괴발개발/Java

Java생활코딩_자바로 문서보는 법

moonday 2021. 7. 17. 17:13

[강의1] 

- 라이브러리 : 자바가 기본적으로 내장하고 있는 기능들 (예: sysout, Date, Math, ..등)

- API (Application Programming Interface) : 자바가 제공하는 부품(라이브러리)등의 코드를 응용하여 프로그램적으로 실행되도록 하여 프로그램을 만드는 것 

- UI(User Interface) : 만들어진 프로그램을 사람이 사용하기 위하여 프로그램 내에 사용되는 조작기들

 

[강의2] JAVA공식사용 설명서를 보는 방법 => API documentation JAVA 검색 또는 뒤에 버전 붙여서 검색 가능

(https://docs.oracle.com/javase/7/docs/api/)

- 클래스 : 하나의 프로그램 개념(예 : Math, String.. ), 서로 연관된 변수와 메소드들을 모아서 그룹화하여 이름을 붙인 것

- 패키지 : Math가 속한 패키지는 Java.lang, 클래스들을 정리 정돈함(비슷한 성격의 이름들을 모아서 정리한 것)

 

[강의3] - 실습

1. Math클래스를 이용하여 PI의 값을 출력시켜보기

2. 1.6을 Math클래스의 floor()메소드를 이용하여 소수점버림을 하기

3. 1.6을 ceil()을 이용하여 올림하기 

public class test {

	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
	}

}

 

[강의4]

- 인스턴스 : 객체

- PrintWriter 클래스 : Math와 사용법이 다름

   - 인스턴스(객체)를 이용하여 PrintWriter의 클래스를 복제하여 인스턴스이름(객체)에 저장해주기

   - 사용법) PrintWriter (인스턴스의 이름) = new PrintWriter("파일이름"); 

           - import를 이용하여 java.io.PrintWriter를 해주면 빨간 밑줄이 하나 없어짐

           - 예외상황 (예를들어 파일이름으로 된 파일이 없을때 어떻게 처리할 것인가) => +add

          (인스턴스이름).write("파일에 입력할 내용");

          (인스턴스이름).close(); 

** 인스턴스를 이용하지 않을 경우

(인스턴스이름).write("파일에 입력할 내용"); = PrintWriter.write("파일이름","입력할내용");

 - 인스턴스를 이용하지 않을 경우, 파일이름을 계속 입력하는 번거로움이 있고 작업량이 크거나 동시에 여러파일을 다뤄야할 경우, 굉장히 일을 처리하기에 비효율적여질 수 있음. 

 

**Math클래스와 PrintWriter클래스

- 차이점 : Math는 생성자(Constructor)가 없고, PrintWriter는 있음. 생성자가 없으면 일회용

- 생성자가 있으면, 객체를 만드는 것이 허용된다

 

//패키지 이름 자른상태 

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"); //새로고침하면 파일생겨있음
		p1.write("Hello world!")
		p1.close();
		
		PrintWriter p2 = new PrintWriter("result2.txt"); //새로고침하면 파일생겨있음
		p2.write("Hello 2");
		p2.close();
		
//		PrintWriter.write("result1.txt","Second"); //나이건안되던데?
//		PrintWriter.write("result2.txt", "Third"); //
		
	}	
}

[강의5] 상속

- 상속을 받으면 부모클래스의 능력들을 모두 자식클래스가 사용할 수 있음

- class Writer가 class Object를 상속받기를 원할 때, Writer extends Object 라고 extends를 이용하여 상속을 받을 수 있음

- 상속을 받는다면  메소드 또한 쓸 수 있음.

- 1,2,3클래스가 있고, 2가 1클래스 상속받고, 3클래스가 2클래스를 상속받는다면, 3은 1클래스또한 포함하고있는 것

- Object클래스의 메소드들은 모든 클래스가 공통적으로 사용할 수 있는 메소드임. Object(모두의 조상)

=> 3클래스에서 1클래스의 메소드를 썼을때, 자바는 3,2,1순으로 거슬러올라가서 핻ㅇ 메소드를 찾아서 3에서 기능을 사용할 수 있도록 해줌

- 상속받은 메소드가 마음에 들지 않는다면 재정의할 수 있음 override

=>3클래스에 write라는 메소드가있고 상속을 받은 2클래스에도 write라는 메소드가 있을경우, 3에서 상속받았던 2클래스의 메소드를 재정의(덮어쓰기)가능함 

'괴발개발 > Java' 카테고리의 다른 글

Notion_노션 자바 수업 복습  (0) 2021.10.02
Java생활코딩_직접컴파일하기  (0) 2021.06.09
Java생활코딩_입력과 출력  (0) 2021.06.07
Java생활코딩_디버거  (0) 2021.06.05
Java생활코딩_객체선언, 메소드호출  (0) 2021.06.03