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. 싱와
    상속은 클래스를 만들때 상위 클래스들의 메소드나 이런걸 가져오는걸 말한다.

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

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

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

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

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

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

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

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

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


    그래서..

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

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

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

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

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

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

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

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

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

    Math 클래스들을 보면

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

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

    java.lang 안에는 비슷한 클래스들이 많이 존재하겠지..
  5. 2020.10.11 완료
  6. 준서
    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 재정의
  7. SilicaDurumi
    상속은 하위 클래스(자식)가 상위 클래스(부모)의 기능을 가져다가 쓰는 것이다.
  8. 하믄랑
    package [ Class { Method } ] package=학교 class=교실 method=학생

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

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

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

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

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

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

    - 클래스를 정리한 것: 패키지
    - 변수와 메소드를 묶은 것: 클래스
  25. Error: Could not find or load main class OkJavaGoInHome
    Caused by: java.lang.ClassNotFoundException: OkJavaGoInHome
    복붙해도 실행이 안되네요
  26. 정찰스
    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샘
  27. 자바 문서 보는법
    구글에 api documentation java 치고 자바 문서 사이트(?)에 들어가서 검색하면 자바 용어에 관한 설명이 나온다.

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

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

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

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

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

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

    Object 클래스는 최상위 부모 클래스로서, 모든 클래스에서 Object의 메소드를 사용할 수 있다.
  34. 베이비유저<baby user>
    자바문서에는 여러 package들이 있고 각 package 마다 class들이 묶여 있음
    class는 각각 method와 변수가 존재
    단 constructor가 있는 class는 인스턴스로 사용가능한데
    인스턴스란 계속 작업가능하게 만들게 하기위해 복제본을 만드는 것임
    +
    상속
    모든 class들의 부모는 class object로 부터 파생된거기에 class object에 있는 메소드를 어느 class에서나 사용이 가능하다. 각각 class들은 직접 모두 다른게 아니라 어떤 class들을 물려받아 사용한거기에 부모가 존재한다. 그래서 똑같은메소드가 존재하는데 그걸 override라고 한다.
  35. 베이비유저<baby user>
    영어를 못하니깐 어질어질거리네요 암튼 이해완!
  36. 감사합니다..
  37. Add throws declaration 이라는게 저는 안뜨네요..ㅠㅠ

    아..소문자를 대문자로 입력해서 그러는 거엿네요ㅋㅋㅋ감사합니다
  38. 완료했습니다 :)
  39. 취생아
    완료 2020.01.21
  40. 라또마니
    동영상을 보고 댓글을 읽으니 정리가 가능하네요! 특히 자바님과 리리님의 글로 마무리 지었습니다.
    감사합니다.
  41. 소금설탕
    고맙습니다. 도움이 많이 되었어요.
  42. 리리
    필드 : 자바에서는 변수를 필드라고 함
    메소드 : 클래스 안의 '기능'같은 것
    클래스 : 비슷한 필드(변수)와 메소드들을 묶어 둔 것
    패키지 : 비슷한 클래스들을 묶어 둔 것
    인스턴스 : 일회성으로 사용되는 클래스들이 아니라 복잡하고 다양하게 쓰일 수 있는 클래스들을
    사용할 때 생성되는 것으로
    그런 클래스들을 사용하려면 그 클래스를 이용하여 인스턴스를 만들고 사용해야 한다.
    그리고 그러한 클래스들은 생성자(constructor)을 가지고 있다.
    상속 : 부모로부터 변수와 메소드들을 받아와서 그대로 사용할 수도 있고
    또는 자기 입맛대로 수정하여(override) 사용할 수도 있다.
    코드내에서는 extends를 써서 사용한다.
  43. 정훈
    패키지: class들의 모음
    class: 변수와 매소들의 모음 (EX abs cos 메소들은 math class에 속하고 math class는 java lang 패키지에 속함)
    Constructor는 instance를 만들어 사용하는 것이 허용된다는 의미, new를 붙여서 사용한다.
    PrintWriter p1 = new PrintWriter("result1.txt");

    상속: 부모클래스의 메소드 및 변수를 자식클라스에서 상속받아(extends)사용할 수 있다.
    Override: 부모로부터 받은 매소드와 변수를 사용하지 않는다면 자식 클라스에서 새로 정의하여 사용할 수 있음
  44. gds1423
    메소드 : 함수다. 다양한 기능들을 제공함.
    필드 : 변수를 자바에서는 필드라고 한다.
    패키지 : 비슷한 기능을 하는 클래스들을 그룹핑해서 이름붙인것. ex) Math와 String 클래스는 java.lang패키지에 속해있다.
    클래스 : 비슷한 필드와 메소드들을 그룹핑해서 이름 붙인것. ex) pi,abs,max,min과 같은 메소드들은 Math클래스에 속해있다.
    인스턴스 : 클래스를 복사한것. Math와 같은 일회성 작업을 할 땐 인스턴스가 필요없다. 그러나 PrintWrite 같은 클래스는 동시에 여러작업을 해야 할 수 있기 때문에 각자 다른 상태를 내장하고 있는 복제본을 만들어 두는 것.
    생성자(constructor): new 뒤에 붙은 것이 생성자다. 인스턴스들은 생성자를 가지고 있다.
    상속: 클래스를 생성할때 부모클래스를 상속받아 만들 수 있다. 부모 클래스에 있는 메소드와 필드들을 상속받아 그대로 사용할 수 있다. 따라서 클래스를 만들때 모든 것을 만들 필요 없이 부모클래스에 새로 메소드와 필드들을 추가 하여 만들 수 있다.
    오버로드: 부모클래스에 있는 메소드나 필드와 같은 이름을 또 만들 수 있다. 부모클래스와 상관없이 사용가능. 덮어쓴 것.
  45. gds1423
    클래스 : 서로 연관된 변수와 메소드들을 모아서 이름을 붙인것. ex) pi,abs,max,min등 여러가지 메소드들을 그룹핑해서 math 클래스로 이름을 붙였다.
    패키지 :비슷한 성격의 클래스를 모아서 이름붙인것. java.lang 패키지 안에 math,string등의 서로 비슷한 성격의 클래스들이 모여있다.
  46. 자바
    class : 비슷한 method와 변수를 묶어놓은 것.
    package : 비슷한 class를 묶어놓은 것.

    PrintWriter p1 = new PrintWriter("result1.txt");

    PrintWriter("result1.txt") : PrintWriter의 값을 result1에 저장.
    new : 복제본을 만들고 싶을 때, class 앞에 쓰는 것.
    → new 뒤에 있는 것은 constructor(생성자)가 됨, 즉 복제할 수 있는 상태가 되는 것.
    p1 : 변수, constructor를 넣을 곳, 복제되는 곳
    → p1에 담기는 어떠한 값 = instance
    → p1은 result1의 값을 내장함
    (맨 앞의)PrintWriter : 데이터타입, p1에 PrintWriter에 해당하는 인스턴스만 와야 하기 때문에 적음.

    왜?
    → 만일 p1이라는 instance를 생성하지 않는다면,
    result1에 값을 입력하고 싶을때마다 일일이 적여줘야함.
    때문에 일회성이 아닌 것에는 instance를 생성하는 것이 좋음.

    상속 : 하위에 있는 class가 상위에 있는 class의 method와 변수를 상속받는 것.
    (하위 class = 상위 class의 method, 변수 + 본인의 method, 변수)
    만일, 하위와 상위에 같은 method 혹은 변수의 이름이 있다면
    상속받지 않고 사용하는 class의 method와 변수가 사용 됨.
  47. souLTrain
    양자역학 좋아하시는 이고잉님 ㅋㅋㅋ

    이번 영상도 너무너무 감사합니다.

    인스턴스의 개념을 이해하기 보다는 사용방법과 그 사용방법을 알아보는 방법을
    알 수 있는 수업이였네요!

    이고잉님이 1년걸리셨으니 전 한 10년걸릴지도......
  48. 쑤우
    수강완료. 감사합니다~
  49. 한종운
    클래스: 자바를 개발 할 때 가장 작은 단위
    인스턴스: 클래스를 복사한 일종의 아바타 개념
    생성자: new 뒤에 따라오면서 인스턴스를 생성할 때에 선언하는것
    상속에 대한 설명
    상속할 클래스에 존재하는 유용한 메소드들 + 자기가 쓰고 싶은 메소드
    를 합쳐서 새로운 클래스를 만들어 쓰고 싶을 때 상속을 사용하면 좋을 것 같다
    상속을 쓰게 될 때의 장점
    상속을 쓰게 되면 남이 만들어 놓은 코드를 재사용할 수 있다.
    또 내가 상속을 해서 만들어 놓으면 또 그것을 다른 사람들이 사용해서 더 좋은 클래스를 만들어낼 수 있다고 생각한다.
  50. 빈익빈부익부
    상속이란?
    삼성의 최초 설립자 이병철 그다음 물려받은 이건희 그다음 이재용 과 같은 권력,재산 등을 되물림 할수 있는 가족간의 대를 잇는 것이라 할수 있다고 생각듬......
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기