JAVA1

자바 문서 보는 법

수업소개

자립의 핵심기술은 공식 문서를 보는 법입니다. 공식문서를 보기 위해서는 자바에서 코드의 뼈대를 형성하는 몇가지 개념들에 대한 이해가 조금 필요합니다. 이 수업에서는 문서를 보기 위해서 필요한 약간의 개념과 그 개념을 바탕으로 문서를 보는 법을 같이 경험해봅니다.

 

 

 

강의1

 

 

 

강의2

 

 

 

강의3

소스코드

변경사항

public class ClassApp {

    public static void main(String[] args) {
		
		System.out.println(Math.PI);
		System.out.println(Math.floor(1.6));
		System.out.println(Math.ceil(1.6));

	}

}

 

 

 

강의4

소스코드

변경사항

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");
		p1.write("Hello 1");
		p1.close();
		
		PrintWriter p2 = new PrintWriter("result2.txt");
		p2.write("Hello 2");
		p2.close();
		
//		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");
//		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");
//		PrintWriter.write("result1.txt", "Hello 1");	
//		PrintWriter.write("result2.txt", "Hello 2");
	}

}

 

 

 

강의5

소스코드

변경사항

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");
		p1.write("Hello 1");
		p1.close();
		
		PrintWriter p2 = new PrintWriter("result2.txt");
		p2.write("Hello 2");
		p2.close();
		System.out.println(p1.toString());
		p2.toString();
		p2.write("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");
//		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");
//		PrintWriter.write("result1.txt", "Hello 1");	
//		PrintWriter.write("result2.txt", "Hello 2");
//		PrintWriter.write("result1.txt", "Hello 1");	
//		PrintWriter.write("result2.txt", "Hello 2");
	}

}

 

 

 

댓글

댓글 본문
  1. 박열정
    상속이란?

    예를들어

    Printwriter가 Write를 상속하고 Write가 Object를 상속하는 모양새를 띈다.

    Printwriter는 Object와 Writer가 가지고 있는 메소드를 물려받으며 최종적으로 확장한 기능을 추가한다.

    그리고 상속받은 자식 클래스가 부모가 가지고 있는 메소드가 마음에 들지 않아 업데이트(?)한 것을 '오버라이드'라고 정의한다.
  2. 박열정
    패키지 안에 클래스 클래스 안에 변수와 메소드
  3. 김궐궐
    완료
  4. 1000210002
    2021/01/07
  5. 꾸르를꾸
    패키지 : 관련된 클래스를 묶은 것
    변수 : 데이터에 정해주는 이름?
    메소드 : 엑셀의 함수같은거?
    클래스란 : 관련된 변수와 메소드를 묶은 것
    상속이란 : 모든 메소드를 물려받으며 이것 외에도 확장된 기능을 추가한다.
  6. 아츄
    201229
  7. artmaker
    자바가 사용하는 기본라이브러리 : API(Application Programming Interface) ex) System. xxx , Date, Math 등등등 수많은 명령어들

    자바가 기본적으로 제공하는 클래스들은 4000개 정도가된다. 그래서 4000개를 패키지(서로 연관된, 비슷한 클래스들을 모아놓은 장소)란 곳에 정리해놓는다. 찾기쉽고 충돌도 막기위해 Math 클래스는 java.lang 패키지에 들어가있다 그렇다면 클래스란 무엇인가 서로 연관된 변수, 메소드를 모아놓아 이름을 붙힌 것. ex) Math class에는 pi같은 변수들이있고 abs와같은 메소드들이있다.

    PrintWriter p1(인스턴스) = new PrintWriter("result1.txt") --> PrintWrite의 복제본을 하나 만들어 p1에 넣는데, 이때 복제본을 인스턴스라고하며 p1이라는 인스턴스는 printwriter라는 클래스의 인스턴스만 들어갈수 있으므로 앞에 printwriter를 붙여주는 것이다. 그리고 인스턴스에 들어간 값은 상태정도라고 보면된다고 하셨다.

    이클립스에 내장되어있어도 패키지를 추가해줘야하는 클래스가있고 아닌클래스가있다. 그리고 클래스들마다 사용법이다르므로 쓸때는 찾아봐야할것같다. ex) Math클래스와 PrintWriter클래스의 사용법이 완전다른것처럼.

    상속이란 쉽게말해 부모자식관계라고 생각하면된다. 부모 클래스의 상속을 받은 자식클래스는 부모클래스에 있는 메소드를 모두 사용가능하다. 자식클래스가 부모클래스가 되어 다른 클래스에게 상속해줄때 그 3번째 클래스는 당연히 1,2 번째의 모든 클래스 메소드를 사용가능하다. 그리고 오버라이드에 대해서 간략히 말하면 부모에 있는 메소드가 자식에도 있다고 가정하자. 자식클래스는 부모클래스에있는 메소드가 마음에 안들어 이를 재정의했다고하고 덮어쓰면 오버라이드했다고 말한다.
  8. J.stan
    20201222 Finished
  9. Seoil Park
    뭔말인지...쩝! 다시보기!!!
  10. 20201210
  11. 20201210
  12. 기존에 있던 클래스에 새로운 기능, 메소드를 추가하고 싶을때, 기존에 있던 클래스가 가지고 있던 메소드나 변수들을 상속받아 사용할 수 있다. 장점으로는 하나부터 열까지 새로 안 만들어도 된다는 점.

    패키지- 비슷한 쓰임새의 클래스를 모아 놓은 곳

    클래스 - 비슷한 쓰임새의 메소드와 변수들을 모아 놓은 곳.

    인스턴스- 일회성으로 끝나지 않는 클래스를 복제한 것. 앞에 new 를 붙여 복제하며 변수명 또한 가지며, 해당 클래스의 이름으로 데이터 타입을 지정해준다.
  13. 최사각
    201122
  14. Hayden Pyun
    [Java] 클래스(Class)와 인스턴스(Instance)의 이해
    2년 전 by 현수 deftkang
    Class는 변수와 함수를 가지고있는 한 구조체이다. 이것은 하나의 그냥 구조체인거지 이 Class를 사용하려면 컴퓨터상에서는 메모리에 올려야 한다. Class를 사용할수 있게 메모리에 올리면 그것은 Instance가 되는것이다.

    예를 들어 Human이라는 하나의 클래스를 정의했다 치자. Human Class에는 변수와 함수가 정의 되어있을 것이고 이것을 사용하기 위해 Human man = new Human() 을 했을 것이다. 그러면 Human은 Class이고 man은 Instance이다.

    man은 new Human() 이라는 메모리에 올려진 하나의 클래스를 담은 변수이다. 이것은 곧 Instance이다.



    출처: https://deftkang.tistory.com/73 [deftkang의 IT]
  15. 안광민
    System, Date, Math 등 자바가 기본적으로 내장하고 있는 기능들을 library라고 한다.
    우린 이를 통해 나의 프로그램을 만든다.

    Program은 시간의 순서에 따라 실행된다라는 시간이 강조된 표현.
    Application은 자바가 제공하는 기능들을 응용한다는 게 강조된 것이다.

    즉, API(Application Programming Interface)는 자바의 기능을 응용해 시간 순서에 따라 실행하는 조작방법을 일컫는다.
    따라서 우린 풍부한 프로그램을 만들기 위해 풍부한 API를 알아야 한다.

    이를 사람을 위해 만들면 UI(User Interface)라고 한다.

    쉽게 말하면, UI는 사용자가 조작하도록 만든 것이고, API는 또다른 기능이나 프로그램을 만들도록 만든 것이다. 즉, UI는 일반 사람들이, API는 프로그래머가 다른 프로그램을 만들기 위해 만든 거라고 하면 된다.

    [자바 공식 사용설명서 보는 법]
    api documentation java = 자바가 기본적으로 제공하는 library를 볼 수 있다.

    java.lang = 클래스가 속해있는 패키지의 일종.
    클래스는 굉장히 많으므로 정리정돈되어야 한다. 따라서 패키지를 통해 정리한다. 또한 똑같은 클래스가 같은 곳에 있으면 충돌하므로 패키지라는 큰 범주를 통해 정리하는 것이다.
    패키지는 비슷한 성격의 클래스를 모아놓은 것이다.
    클래스는 서로 연관된 변수와 메소드를 모아놓은 것이다.

    [인스턴스]
    일회용이 아니라면 하나의 클래스를 복제해서 인스턴스를 만드는 게 더 효율적이다.
    constructor가 있으면 인스턴스를 만들 수 있다.

    [상속]
    부모의 메소드를 그대로 물려받으면서 새로운 변수, 메소드를 추가한 것이 상속이다.
    open type hierarchy를 누르면 해당 class의 inheritance를 알 수 있다.
    부모의 기능을 override해서 자녀의 class에서 구현할 수 있다.

    완료
  16. 람쥐머신건
    싱와좌..
    대화보기
    • 싱와
      상속은 클래스를 만들때 상위 클래스들의 메소드나 이런걸 가져오는걸 말한다.

      한마디로 다 만들기 귀찮으니까 위에꺼에서 따온거야.
      모든 클래스는 object 클래스 안에 상속되는데,

      내려내려가서 엄청 상속이 되었다고 치자.
      근데 재밌는건 내가 저저~~ 위에 있는 부모님 클래스의 메소드를 갖다 쓸수도 있어.
      상속해줄때 이미 허락해준거지.

      엄마돈.. 물론 허락맡고 쓰지만 엄마카드 쓸때 그렇게 죄책감 안갖잖아?
      그런거야..

      어머니.. 죄송합니다..(주륵)

      부모 클래스까지 올라갔는데 없어? 그럼 에러나는거고. 카드로 치면 결제 안되는거지.

      근데 부모 클래스에 이미 있는걸 내가 새로만든 클래스에 또 아에 포함시킬수도 있어.
      이걸 오버라이드라고 하는데 단어는 크게 의미두지말고.. 하여간 이럴수도 있다는거 알아두자!
    • 싱와
      인스턴스 빡세게 이해해보자..어,.,? 이고잉님도 1년걸린 "그 개념"

      자.. 클래스를 만든다고 해보자.
      솔직하게 지금까지 만든 클래스는 겁나 단순한 클래스였어..
      그래서 그냥 단순한 클래스를 반복 사용해도 전혀~~~ 문제가 없는 클래스였지..

      그런데 어라? 해당 클래스에서 값이 계속 수정이 되거나,, 반복되게 바꾸어주어야할때가 오는거야.
      그러니까 클래스를 단순 반복해주려고 하니까, 창은 점점 복잡해지고.. 코드는 더러워지고.. 보기가 싫잖아?
      그리고 단순반복한 클래스에 일일히 뭘할지 다 지정해줘야해.. 미치고 환장할 노릇인거지.

      과연 이런 코드를 짜는 사람과.. 같이 일하고 싶겠니.. 절대 안그렇지..


      그래서..

      어떤 파일을 수정한다 라는것은 파일 하나만 수정하는것이 아니라 여러가지 작업들이 쭈루룩 들어오고 여러가지 작업들을 다 수정해줘야할때도 있단말이지. 이때 하나의 클래스를 돌려막기 보다는 하나의 클래스를 앞에 뉴를 붙여서 복제해서 각각의 다른 상태를 가지고 있는 인스턴스(복제품)를 만들어서 사용하는것이 훨씬더 효율적이라는거야..

      클래스를 만드는 사람들은 그 클래스가 인스턴스가 필요없이 일회용으로 쓸수있다 하면 그냥 쓰지만 긴맥락의 작업에서는 클래스를 복제한 인스턴스를 만들어서 사용자에게 제공하는것이
훨씬더 효율적이다!!
라는것을 좀 기억해줘..

      프린트 라이터는 컨스트럭터(생성자)가 있는데, 컨스트럭터가 없는 메소드는 일회용!!

      컨스트럭터가 있다는것은 컨스트럭터를 이용해서 인스턴스를 만드는것이 허용되어있다..!!!!
    • 싱와
      Class 란 무엇인가.. 사용법은 무엇인가..

      Math 클래스를 생각해보자..
      Math (수학), 수학적 역할을 하는 메소드들은 JAVA언어 가운데 수백수천의 것들이 있을것이다..
      이런 특정 주제의 메소드과 관련 변수들을 모아놓은것이 클래스다.

      대표적으로 PI라는 숫자를 우리가 매번 외우고 다닐 수는 없으니 pi 라는 메소드를 주로 사용하는데,
      이를 사용하기 위해서는 math.pi 와 같이 나타내주면 된다..
      화면에 송출하기 위해서는 system.out.printlm(Math.pi); 와 같이 나타내주자..

      다시한번 기억하자.
      패키지 안에 클래스. 클래스 안에 메소드랑 관련변수.
    • 싱와
      패키지안에 클래스. 클래스 안에 변수랑 메소드.

      관련있는 변수랑 메소드들이 너무 많은데, 이게 그룹없이 난잡하게 널부러져 있으니
      그걸 예쁘게 모은게 클래스.

      그런 비슷한 성격의 클래스들을 모은게 패키지.

      Math 클래스들을 보면

      안에 double. 이나, 등등의 메소드들이 많지.

      근데 Math class는 또 java.lang 이라는 패키지 안에 속하는거야.

      java.lang 안에는 비슷한 클래스들이 많이 존재하겠지..
    • 2020.10.11 완료
    • 준서
      1. API (Application User Interface): Application to Application
      2. UI (User Interface): Application to user
      3. Package > Class > Methods
      4. Instance: 클래스 담아서 사용
      5. Inherit(상속): 상위 클래스에서의 method는 하위 클래스에서도 사용 가능. java.lang.Object는 최상위 클래스
      6. Override: 하위 클래스에서 상속 무시, method 재정의
    • SilicaDurumi
      상속은 하위 클래스(자식)가 상위 클래스(부모)의 기능을 가져다가 쓰는 것이다.
    • 하믄랑
      package [ Class { Method } ] package=학교 class=교실 method=학생

      instance 문법의 대명사같은 역할?

      상속=세대를 거치면서 진화하여 기능을 추가시키거나 변화시키는것
    • 뚜껑
      인스턴스는 클래스를 복제한 것.
    • 루베티
      20.09.14 완료
    • d.minn
      20.09.08 완료
    • 치디우기
      200825 수강 완료~
    • 재도전
      8/09 완료
    • 남붕어
      1. 비슷한 성향의 메소드와 변수를 합치면 클래스가 되고, 비슷한 성향의 클래스를 묶으면 패키지가 됨

      2. 상속 : 상위 클래스가 하위 클래스에게 본인이 포함하고있는 변수 메소드를 물려주는 것
      상속이 좋은 점 : 하위 클래스(자식 클래스)가 상위 클래스(부모 클래스)의 변수를 다 가지고있지않아도 쓸 수 있음. 또한 하위 클래스에서 상위 클래스의 변수가 마음에 안들 경우 덮어쓰기가 가능하다 override
    • 이석호
      클래스는 디렉토리다.. 라는 말이 와닿네요
    • 조조
      상속 - 클래스는 다른 어떤 클래스의 변수와 메소드를 활용할 수 있는데, 이때 활용되는 클래스를 부모 클래스.. 활용 받는 클래스를 자식 클래스라고 하며 상속 받았다고 표현함..
    • 선대범
      인스턴스란 메소드를 명명하고 효율적으로 사용하는것
    • 선대범
      상속이란 다른 사람 혹은 내가 이전에 작성해 놓은 메소드를 불러와 다른 클래스에서 활용 하는것
    • 선대범
      강의2 메소드+변수(들) < 클래스(들) < 패키지
    • heejeong.k
      상속은 상위 클래스로부터 메소드를 상속받은것. 상속받은 자식 클래스 자신이 생성되어 메소드를 사용하면 override 된것.
    • 강현
      컴퓨터 - os - 자바 기본라이브러리 - 내 자바 프로그램
      이때 자바 기본라이브러리(기본 내장 기능, 기본 부품)
      우리가 자바 프로그램을 만드는 것은 시간의 순서에 따라 기본라이브러리를 응용해 만드는 것이다.
      이 자바가 제공하는 기본적인 부품들의 조작방법을 API라고 한다.

      패키지는 클래스를 모아놓은 것이고 클래스는 관련있는 변수와 메소드를 모아 이름을 지어 놓은 것이다.
    • 영철이
      상속받은 부모클래스의 변수와 메소드를 사용할 수 있다.

      메소드 사용 시 우선 자신에게 있는 지 확인 후 없으면 extends 한 클래스에서 찾음.
      없으면 다시 extends한 클래스가 있다면 찾아가서 찾음.
      결국 없다면 에러를 발생하고 있다면 실행이 됨.

      부모 클래스에서 정의된 메소드를 자식클래스에서 재정의해서 사용할 수 있음.
      이때 우선적으로 실행되는 메소드는 자식클래스에서 정의한 메소드임.
    • 영철이
      패키지 : 클래스의 집합
      클래스 : 서로 연관있는 변수와 메소드들의 집합
    • yechubot
      api- application programming interface
      ui-user interface

      - 클래스를 정리한 것: 패키지
      - 변수와 메소드를 묶은 것: 클래스
    • Error: Could not find or load main class OkJavaGoInHome
      Caused by: java.lang.ClassNotFoundException: OkJavaGoInHome
      복붙해도 실행이 안되네요
    • 정찰스
      API : 어떤 프로그램이 어떻게 실행되는지 알려주는 조작 장치(Application Programming Interface) "사용설명서"
      사용자가 조작하는 장치는 UI (User Interface)

      패키지 : 자바의 클래스를 묶어서 정리한 것
      클래스 : 서로 연관된 변수와 메소드를 모아 이름을 붙인 것, "디렉토리"
      변수 : 하나의 값을 저장할 수 있는 메모리 공간
      메소드 : 어떤 일을 처리하는 실행문을 모아 넣은 것

      -패키지
      변수 + 메소드 = 클래스
      클래스 + 클래스 + 클래스 +... = 패키지

      -인스턴스
      클래스 PrintWriter 인스턴스 p1 = new Constructor(생성자)PrintWriter("result1.txt");
      클래스를 복제하는 것이 인스턴스
      인스턴스 쓰는 이유 : 클래스에 직접 입력 시 동작이 많아지면 일일히 쓰는 불편함이 있음.
      반복하는 작업 시 효과적

      -상속
      java.lang.Object 부모 클래스
      java.io.Writer 자식 클래스
      java.io.PrintWriter 자식 클래스

      부모 클래스가 가진 변수와 메소드를 물려받아 자기가 원하는 변수를 추가하는 것.
      클래스 드래그 후 Open Type Hierarchy 누르면 상속 관계를 볼 수 있음.
      Override - 기존에 있는 메소드를 내가 정의한 메소드로 덮어씌우는 것

      ** 처음 들으면 이해 못하는 것이 정상이니 너무 실망하지 않아도 됨! - egoing샘
    • 자바 문서 보는법
      구글에 api documentation java 치고 자바 문서 사이트(?)에 들어가서 검색하면 자바 용어에 관한 설명이 나온다.

      자바 문서에는 여러 package들이 있고 각 package마다 class들이 묶여있다. class에는 method와 변수가 존재한다. 단 constructor가 있는 class는 인스턴스로 사용가능한데 인스턴스란 계속 작업가능하게 만들게 하기위해 복제본을 만드는 것이다.

      상속받은 클래스는 부모의 메소드들을 사용할 수 있다. (메소드 검색 뒤 자바가 상속받은 상위 클래스를 찾으면 알 수 있음) 참고로 object 클래스는 최상위 클래스.

      *필드 : 자바에서는 변수를 필드라고 한다.
      *메소드 : 자바에서는 함수를 메소드라고 한다. (클래스 안의 '기능'같은 것)
      *클래스 : 비슷한 필드(변수)와 메소드들을 묶어 둔 것이다. ex) pi,abs,max,min등 여러가지 메소드들을 그룹핑해서 math 클래스로 이름을 붙였다.
      *패키지 : 비슷한 기능을 하는 클래스들을 그룹핑해서 이름붙인것. ex) Math와 String 클래스는 java.lang패키지에 속해있다.
    • 완료
    • 일단 맥을 삿는데
      다른 수업은 뭔가 놓치면 무서운데 그래도 괜찮아 라고 위로해 주는것 같에서 고마워요.
      수업 잘들고 있어요.
    • 빗살무늬토기
      상속: 하나의 클래스의 확장 개념, 필요에 의해서 클래스 하나를 만들긴 힘드니, 메소드를 추가하여 새로운 클래스 생성을 위해 상속 작업을 한다.

      클래스 최상단의 object를 상속받은 클래스,

      상속받은 클래스는 부모의 메소드들을 사용 할 수 있으며, 메소드를 찾는 작업은

      메소드를 입력 한 뒤 자바가 상속받은 상위 클래스를 분석하며 찾는다.
    • 감자
      영상으로 한번 보고 댓글로 정리할 수 있게 설계하신 이고잉님... 존경합니다...
    • 뉸찡
      2020.3.3완료! 감사합니다
    • 동그리
      상속: 클래스를 상속하면 상속한 클래스에 이미 정의되어있는 메소드들을 그대로 사용하거나, 덮어쓰기 할 수있고, 필요에 맞게 기능들을 추가하여 클래스를 새로 만들 수 있다.

      Object 클래스는 최상위 부모 클래스로서, 모든 클래스에서 Object의 메소드를 사용할 수 있다.
    • 베이비유저<baby user>
      자바문서에는 여러 package들이 있고 각 package 마다 class들이 묶여 있음
      class는 각각 method와 변수가 존재
      단 constructor가 있는 class는 인스턴스로 사용가능한데
      인스턴스란 계속 작업가능하게 만들게 하기위해 복제본을 만드는 것임
      +
      상속
      모든 class들의 부모는 class object로 부터 파생된거기에 class object에 있는 메소드를 어느 class에서나 사용이 가능하다. 각각 class들은 직접 모두 다른게 아니라 어떤 class들을 물려받아 사용한거기에 부모가 존재한다. 그래서 똑같은메소드가 존재하는데 그걸 override라고 한다.
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기