34-java - class 기본 이론

jin·2022년 7월 30일
0

이하 수업 내용

1. Class

  1. 정의(설계도)
    1) class : 키워드
    2) Ex01 : 클래스명
    3) {} : 자료형의 영역(기본 자료형을 조합해 생성)
  2. 선언
    1) 자료형 변수명 = new 자료형();
    2) Ex01 e = new Ex01();
public class 클래스1_기본이론1_클래스1_2 {
	public static void main(String[] args) {

		Test01 e =new Test01();
		e.x = 10;
		e.y = 20;
		
		System.out.println(e);
		System.out.println(e.x);
		System.out.println(e.y);
	}
	
}

// 메인메소드를 아래에 두는 이유는 c언어가 절차적 언어 특성을 가지고 있기 때문에 메인메소드 아래에 있는 클래스를 사용하려하면 에러남
// 자바는 상관없음
class Test01{
	int x;
	int y;
}

2. 사용법

[클래스]
1. 내가 직접 자료형을 설정한 배열 : 기존자료형을 조합해서 만든다.
2. 데이터 : 이름 , 아이디 , 비밀번호 , 번호 , 점수
3. 순서 :
1) 정의 : 내용정의 ==> class{ 이안에 한다. }
2) 선언 : 데이터 할당 ==> 클래스명 변수명 = new 클래스명();
3) 사용 : 변수명 + . 을 이용해서 사용한다.

class Data {
	String name;
	String id;
	String pwd;
	int number;
	int score;
}
public class 클래스1_기본이론1_클래스1 {
	public static void main(String[] args) {
		// 클래스 이전
		String[] d = {"김철수", "qwer", "1234", "1", "30"};
		int number = Integer.parseInt(d[3]);
		System.out.println(number);
		int score = Integer.parseInt(d[4]);
		System.out.println(score);
		System.out.println();
		// 클래스 이후
		// 클래스 선언시 변수명은 해당 클래스명으로 하는게 좋음(어떤 기능을 하는지 명확하게 알 수 있음)
		Data data = new Data(); // 데이터 할당
		data.name = "이만수";
		data.pwd = "2345";
		data.id = "asdf";
		data.number = 2;
		data.score = 54;
		
		System.out.println(data.name);
		
	}
}

3. 사용 이유

클래스의 진짜용도 (이번단원은 설명만하고 다음단원에서 진짜로 연습)
1) 배열만 사용해서 프로그램을 만들때의 불편함
2) 아래와 같은 데이터가 있을때 배열만 사용할때는 한배열안에 같은 종류의 자료형만저장가능하다.

  • [1] 결국 , 정수같은데이터는 계속 형변환을 사용해야한다.
  • [2] 또한 데이터를 검색할때 employeeData[0][0] , employeeData[0][1] 등
    인덱스로 찾아야하는데 데이터가 많아지면 인덱스로찾기가 불편하다.
class Member{
	int number;
	String name; 
	String position; 
	int superiorNumber;
	String regDate;
	int salary;
	int commission;
	int departmentNumber;
}

public class 클래스1_기본이론1_클래스4 {
	public static void main(String[] args) {		
		// [사원정보]
		// [번호,이름,직책,상사번호,입사일,급여,커미션,부서번호]
		String[][] memberList = { 
				{ "7369", "SMITH", "CLERK", "7902", "17-12-1980", "800", "0", "20" },
				{ "7499", "ALLEN", "SALESMAN", "7698", "20-2-1981", "1600", "300", "30" },
				{ "7521", "WARD", "SALESMAN", "7698", "22-2-1981", "1250", "500", "30" }};		
			
		String[] numList = {"7369" , "7499" , "7521"};
		String[] nameList = {"SMITH" , "ALLEN" , "WARD"};
		String[] bossList = {"CLERK" , "SALESMAN" , "SALESMAN"};
		int [] salaryList = { 800 , 1600, 1250};
		
		// 3) 아래와같이 문자열 , 정수 이렇게 섞어서 저장하고싶은 아이디어에서 나옴 
		/*
			{ 7369, "SMITH", "CLERK", 7902, "17-12-1980", 800, 0, 20 }
			{ 7499, "SMITH", "CLERK", 7698, "17-12-1980", 1600, 300, 30 }
			{ 7521, "SMITH", "CLERK", 7698, "17-12-1980", 1250, 500, 30 }
		*/
		// 4) 위데이터를 클래스로 바꾸면 굉장히 직관적으로 데이터를 저장할수있다.
		Member member = new Member();
		member.number = 7369;
		member.name = "SMITH";
		member.position = "CLERK";
		member.superiorNumber = 7902;
		member.regDate = "17-12-1980";
		member.salary = 800;
		member.commission = 0;
		member.departmentNumber = 20;
		
		// 위 클래스를 배열로 만들면 마무리가된다. 
	}
}

0개의 댓글