728x90

JAVA 객체 지향 프로그래밍 - 2. 남의 클래스 & 남의 인스턴스

 

OOP(objected Oriented Programming)

 

 

System.out.println(Math.PI);
// 결과값 : 3.141592653589793

math라고 하는 클래스PI라는 변수가 있는 것이고, 그 변수 안에 3.14의 구체적인 숫자가 적당한 정밀도로 적혀있는 것

 

System.out.println(Math.PI);
System.out.println(Math.floor(1.8)); // 내림
System.out.println(Math.ceil(1.8));  // 올림

Math는 클래스이고, 클래스 안에는 수학과 관련된 PI라고 하는 변수도 있고 floor,ceil과 같은 메소드들도 들어 있는 것.

즉, 코드가 많아짐에 따라서 서로 연관된 같은 주제를 가지고 있는 변수와 메소드를 그루핑한 껍데기가 클래스

 

 

FileWriter f1 = new FileWriter(”data.txt”)

new를 붙이므로써 FileWriter라는 클래스의 복제본f1을 만들겠다

 

 

FileWriter f1 = new FileWriter("data.txt"); // new를 붙이므로써 FileWriter라는 클래스의 복제본을 만들겠다
f1.write("Hello");
f1.write("Java");
f1.close();

일회용으로 작업을 끝내면 되는 것들은 메소드나 변수를 클래스에 소속된 그냥 클래스에 있는거 그냥 사용합니다

ex) Math.floor()나 Math.ceil()

 

 

하지만 긴 맥락을 가지고 작업해야하는 것들은 클래스를 직접 사용하지 않고 인스턴스를 사용해서 복제본을 사용해서 관리한다

ex) f1인스턴스를 계속 write write close까지 길게 여러번

		FileWriter f1 = new FileWriter("data.txt"); // FileWriter의 복사본
		f1.write("Hello");
		f1.write("Java");

				
		FileWriter f2 = new FileWriter("data2.txt"); // FileWriter의 또 다른 복사본
		f2.write("Hello");
		f2.write("Java2");
		f2.close();
		
		f1.write("!!!");  				// 긴 맥락의 작업
		f1.close();

 

 

 

 

아래에서

클래스 : System, Math, FileWriter

인스턴스 : f1, f2

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

public class OOP02 {

	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"); // FileWriter의 복사본
		f1.write("Hello");
		f1.write("Java");

				
		FileWriter f2 = new FileWriter("data2.txt"); // FileWriter의 또 다른 복사본
		f2.write("Hello");
		f2.write("Java2");
		f2.close();
		
		f1.write("!!!");  				// 긴 맥락의 작업
		f1.close();
	}
}
728x90
반응형
728x90

1.메소드
2.클래스 소속 메소드
3.인스턴스 소속 메소드

 

 

 

 

 

728x90
반응형
728x90

 

 

728x90
반응형
728x90

 

맞은 직후 얼마 뒤 잠이 엄청나게 몰려와서 한3-6시간 잔 듯 하다

열이 좀 올라오는 것 같아 해열제도 복용

맞은 쪽 팔만 좀 욱신거리고 아픈건 없다

728x90
반응형

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글

22.02.05 운동기록  (0) 2022.02.05
22.01.31 운동기록 & 헬스장 accident  (0) 2022.01.31
22.01.26 운동기록 & 페이스풀 헤매는중  (0) 2022.01.27
22.01.25 운동기록  (0) 2022.01.25
22.01.24 운동기록  (0) 2022.01.24
728x90

 

JAVA 객체 지향 프로그래밍 - 1. 수업소개(객체지향+절차지향 개념)

 

메소드를 다른 컴퓨터 언어에서는

함수 = method = fuction = subroutine = procedural

 

절차지향 프로그래밍(procedural programming)의 패러다임은 procedural

즉, 자바에서는 메소드라고 불리우는 것을 이용해서 프로그램을 정리정돈하는 프로그래밍 기법

즉, 메소드를 이용해서 작은 부품을 만들고 이것을 결합해서 더 큰 부품을 만들어가는 테크닉이 procedural programming

 - 많은 컴퓨터 언어가 이 패러다임을 따르고 있고, 대표적인 언어가 C

 

but 몇몇 엔지니어들은 메소드만 가지고는 프로그램을 만드는데 부족함을 느끼고 서로 연관된 메소드와 변수들을 모아서 그루핑하고 이름을 붙여서 정리정돈 하고 싶어졌다. 그래서 만들어진 수납상자가 클래스(class)

클래스를 중심으로 프로그램의 구조를 만들어가는 컴퓨터 프로그래밍 방법론을 객체지향 프로그래밍 또 이런 방법론을 언어 차원에서 제공하는 것객체지향 언어라고 한다. 객체지향의 개념을 편협하게 설명한 내용들

 

클래스

메소드와 변수를 그루핑하고 이름을 붙인 것

728x90
반응형

+ Recent posts