JAVA 객체지향 프로그래밍

남의 클래스 & 남의 인스턴스

수업소개

나의 클래스, 나의 인스턴스를 만들기 전에 남의 클래스, 남의 인스턴스를 사용하는 법을 먼저 알아봅시다.

 

 

 

강의

소스코드

OthersOOP.java

import java.io.FileWriter;
import java.io.IOException;

public class OthersOOP {

    public static void main(String[] args) throws IOException {
		// class : System, Math, FileWriter
		// instance : f1, f2
		
		System.out.println(Math.PI);
		System.out.println(Math.floor(1.8));
		System.out.println(Math.ceil(1.8));
		
		FileWriter f1 = new FileWriter("data.txt");
		f1.write("Hello");
		f1.write(" Java");
		
		
		FileWriter f2 = new FileWriter("data2.txt");
		f2.write("Hello");
		f2.write(" Java2");
		f2.close();
		
		f1.write("!!!");
		f1.close();
	}

}

 

댓글

댓글 본문
  1. 제예솔
    이고잉님의 강의로 지반을 다지고 다른분들 댓글로 완벽하게 이해할 수 있었습니다, 감사합니다!
  2. 안광민
    method = function = subroutine = procedural이라고 불린다.
    method를 이용해 프로그램을 만든다. 이것이 절차지향 프로그래밍이다.

    class라는 정리정돈 상자를 통해 프로그램을 만든다. 이것이 객체지향 프로그래밍이다.

    짧은 맥락을 가지고 작업하는 경우는 바로 class를 사용한다.
    긴 맥락을 가지고 작업해야 하는 경우에는 class를 복제해서 instance를 만들어서 사용한다.

    완료
  3. 싱와
    객체지향 프로그래밍에서 핵심이 되는것은
    우리가 앞서 공부했던 변수와 메소드, 이것들을 보기 좋게 묶은 클래스라고 할 수 있을것이다.

    이런 클래스들은 단발적이고 일회성으로 쓸 수 있는 것들도 있지만, (Math 클래스 같은)
    긴 호흡으로 계속 클래스들을 소환해서 여러가지 작업들을 해야하는 것들도 있다.

    계속 클래스들을 소환하게 된다면 작업하는 공간은 난잡하게 될 것이고, 알아보기도 힘들고
    수정도 어려울 것이다.

    그래서 긴호흡이 필요한 클래스들은 복제본인 인스턴스를 만들어 쉽게 접근가능하고, 긴호흡에도 편하게 쓸 수 있도록 한다.

    이클립스에서 글자가 파란색으로 색칠되어 있는것들은 클래스고,
    초록색으로 색칠되어 있는것들은 메소드인것을 알 수 있다. (MAC eclipse 기준)
    이것들을 빠르게 알아볼 수 있는 능력을 갖춘다면 빠르게 구조를 이해할 수 있는 능력을 함양할 수 있을 것이다.
  4. 흙윳
    오 이거 보고 이해했어요
    대화보기
    • 선대범
      클래스는 설계도, 객체는 설계도로 구현된 것, 인스턴스는 복제본 또는 일정한 과정을 거쳐 생성된 것

      설계도에는 부품들이 어떤 기능을 갖고 있고 어떻게 작동되는지 표현되있다.

      여기서 부품은 메소드이다. 메소드는 특정한 기능을 하도록 만들어진 것이다. 다른 프로그래밍언어에서는 함수라고도 한다.

      객체는 클래스의 인스턴스이다.
      객체는 부품들을 조합해서 구현한 결과물이다.

      FileWriter f1 = new FileWriter("data.txt");
      == FileWriter 라는 설계도로 만든 f1이란 결과인 객체를 data.txt라는 곳에 넣어서 보여줄것이다.(객체선언)
      == FileWriter라는 설계도로 만든 결과물인 f1을 만드는 코드
    • hyuna lee
      감사합니다^^
    • Jimin Joo
      class는 변수와 메소드를 정리해서 묶어놓은 상자 (System, Math, FileWriter)
      instance는 class를 새로 복제해서 이름을 붙인 상자 (f1, f2)
    • 김시은
      class는 비슷한 맥락의 method와 variable을 정리해서 묶어놓은 것이다.
      class에 .을 찍어서 해당 class가 가지고 있는 method를 사용할 수 있다.
      그런데 이를 여러번 반복해야한다면 매번 특정한 조건을 반복해서 적어야 할지도 모른다.
      그래서 필요한 것이 instance!
      instance는 기본적으로 class의 복제본인데, 추가로 내가 설정해준 설정값을 갖는다.
      instance를 선언하는 것은, datatype이 해당 class인 변수를 선언하는 것과 같다.
    • yechubot
      class- method/ variable 정리 한 것
      method - 함수!
      instance - class를 복제한 값을 가진 것 .. - f1
      FileWriter f1 = new FileWriter (" data.text");
    • 열공하자
      System이 클래스이고 .이후 것들은 System의 메소드들 입니다.
      .out의 메소드 안에 있는 println이라는 메소드를 사용 하겠다는 말 입니다.
      대화보기
      • 열공하자
        대문자가 처음에 붙는 것은 클래스이고, 클래스는 .을 찍어서 안에 있는 메소드를 사용할 수 있다.
        java 내에 있는 클래스는 바로 사용 가능하지만
        없는 클래스들은 import후 사용하여야 하고, new를 붙여 생성한다.
        생성후 클래스 안의 메소드를 사용 가능하다.
      • 위의 예제 Math.PI나 Math.floor() 처럼 1회용으로 작업을 끝내게 되는 상황에서는 클래스 안에 포함된 메소드와 변수를 이용해서 있는 그대로 클래스를 사용한다.

        하지만, FileWriter처럼 어떤 곳에 저장하고, 저장한 곳에 여러줄에 거쳐 write를 해야하는 긴 맥락의 상황에서는 클래스를 직접사용하는 것이 아니라, 클래스를 복제해서 인스턴스를 만들어 제어해야한다.
      • 2020.03.15 완료
      • 뉸찡
        2020.03.10
        완료 감사합니다!
      • 감자
        System.out.println에서 System이 Class이고 out도 println을 포함한 여러 메소드를 가지고 있는 Class라고 봐도 되는 건가요?? 제가 잘 이해하고 있는지 궁금합니다.
      • 감사합니다..
      • 베히
        객체 = 오브젝트
        ex) 자동차(객체) -> 자동차를 만드는 설계도(클래스) -> 자동차를 만들어냄(인스턴스) 자동차 car = new 자동차();
      • 라또마니
        감사합니다.
      • 이기호
        감사합니다! 클래스와 인스턴스의 개념을 잡는데 도움이 됩니다.
      • 쑤우
        수강완료. 감사합니다~
      • ㅎㅎ감사합니다
      • 찰느
        감사합니다!!!
      • 허공
        감사합니다!
      • 허공
        감사합니다!
      graphittie 자세히 보기