본문 바로가기

AWS CLOUD FRAMEWORK/Java

[Day10] Ex01_Class

package oop;

public class Ex01_Class {
	public static void main(String[] args) throws Exception {
		// 클래스는 객체를 생성하기 위한 자료형이다
		// 객체마다 형태가 다르고, 객체의 형태를 표현하기 위해 클래스를 작성한다
		
		// 자바는 객체 지향 언어이고, oop 방식으로 코드를 작성할 수 있다
		// Object Oriented Programming
		
		// C언어는 [절차지향 프로그래밍] 언어이다
		
		// 절차지향은 순서대로 진행한다는것도 맞지만, 함수가 코드의 기본 단위가 된다는 말이다
		// C언어에서 구조체와 함수는 결합할 수 없다 (포인터를 활용한 트릭을 사용하면 가능)
		// 그래서, C언어에서 작성한 구조체로 데이터를 생성하면 외부에서 작동시켜야 한다
		
		// 반면, 자바의 객체는 변수와 함수(속성과 기능)을 내장할 수 있고
		// 어떤 속성과 어떤 기능이 내장되어 있냐에 따라서
		// 객체 생성 및 함수호출 만으로도 대부분의 객체가 상호작용을 진행하며 코드를 전개할 수 있다
		// 객체 외부에서 객체를 작동시키는 건 함수 호출정도의 간단한 코드만 있으면 된다
		
		// 이렇게 객체를 설계하는 내용이 중요하기 때문에
		// 객체를 만들기 위한 자료형, 클래스의 문법에 대해 집중적으로 학습하며
		// 이는 어떤 객체를 만들어 낼 것인가에 대한 설계, 계획이 중요하다는것을 의미한다

		// 클래스는 자료형이고, 객체는 실제 데이터이기 때문에
		// 하나의 클래스를 이용하여 여러 객체를 생성할 수 있다
		
		int n1 = 10;
		int n2 = 20;
		
		System.out.println(n1);	// 함수를 내장하고 있지 않아서, 외부에서 직접 출력함수를 사용해서 처리해야 한다
		System.out.println(n2);
		
		Process p1 = Runtime.getRuntime().exec("notepad");	// 메모장 실행 프로세스를 저장한 객체 p1
		Process p2 = Runtime.getRuntime().exec("mspaint");	// 그림판 실행 프로세스를 저장한 객체 p2
		
		Thread.sleep(2000);
		p1.destroy();		// 객체는 스스로 어떤 작업을 수행할 수 있는 함수(메서드)를 내장하고 있다
		
		Thread.sleep(2000);	// 어떤 메서드는 객체 없이 클래스에서 바로 호출할 수도 있다
		p2.destroy();
		
	}
}

'AWS CLOUD FRAMEWORK > Java' 카테고리의 다른 글

[Day10] Ex02_Constructor  (0) 2023.04.05
[Day10] Ex02  (0) 2023.04.05
[Day10] Message  (0) 2023.04.05
[Day09] phonebook  (0) 2023.04.05
[Day09] DebuggingSample  (0) 2023.04.05