Java. 클래스&객체(Class and Object)

kimkim·2024년 9월 1일

Java. 공부내용정리

목록 보기
11/38

객체(Object)

객체가 생긴 이유

  • 배열은 같은 자료형에 따라 숫자형, 문자형만 같은 형태의 타임만 묶을 수 있다.
  • 자료형이 다른 형태를 묶을 수 있는 방법으로 생겨남

배열 vs 객체

  • 배열
    • 단점 : 자료형에 따라 숫자형은 숫자만 문자형은 문자만 들어가는 게 가능하다.
    • {20,"홍길동","서울"}로 넣고 싶은데 (>> 배열로 불가능)
  • 객체
    • 숫자 문자 가리지 않고 다 저장 가능한 개념

예시

public class Object {
	public static void main(String[] args) {
		int age =20;
        String name = "홍길동";
        String home = "서울";

        int age2 =30;
        String name2 = "이순신";
        String home2 = "대전";

        System.out.println(age+"살,"+home+" 사는 "+name+"입니다.");
        System.out.println(age2+"살,"+home2+" 사는 "+name2+"입니다.");
	}
}

정보가 낱개로 있으면 섞이거나 누락이 있을 수 있음
변수의 오류나 각각의 변수를 저장하면 출력할 때
실수의 오류를 많이 발생시킬 수 있어서
대안책으로 객체를 쓴다.
(폴더를 만들어서 관련 있는 것끼리 해당 내용을 폴더에 저장)

객체 만드는 법

  1. 어떤 정보를 모집할 건지 확인한다
  2. 사람의 정보를 모집한다면 어디까지 받을건지 확인하고
    표현 방식을 확인한다.
  3. 객체의 생김새는 설계도(class)를 만든다.
    • 객체는 먼저 어떻게 생겼는지 정의되어야 만들어지므로 객체의 생김새를 만들어줘야한다.
  4. class를 이용해서 객체를 만든다.

클래스&객체

  • 클래스
    • 객체를 담는 틀을 만드는 원본
    • 클래스를 만들고 정보가 들어갈 이름을 적어준다.
    • main(public static void main(String[] args)) 없이 class 아래 객체에 들어갈 변수와 메서드를 만든다.
  • 객체
    • 원하는 값을 담는 클래스의 사본
      • Person p1 = new Person() ;
      • 객체 생성 후 객체 리모컨 변수에 저장
    • 사물표현 > 상태/동작 > 변수/메서드
    • 변수는 상태를 표현한다.
      • 형식 : 변수.클래스변수 = "클래스 타입";
      • 예시 : p1.name = "홍길동";
    • 메서드는 동작(연산)을 표현한다.
      • 형식 : 접근제어자 리턴타임 매서드명 (매개변수){내용}
      • 예시 : public void walk(){}
    • 클래스의 사본 객체를 main에 불러온다
    • 객체를 만들고 객체를 조종할 수 있는 리모콘을 변수에 넣는다.
    • 객체 구별을 위해 변수에 담는다.

클래스

public class Person {
	// 변수
	int age ; // 숫자 데이터인 나이
	String name; // 문자 데이터인 이름
    String home; // 문자 데이터인 거주지
	}
}

객체(인스턴스)

public class Object {
	public static void main(String[] args) {
    	Person c; // 객체 안만들어짐
        // new Person();이 붙어아 객체가 만들어짐
        
        Person hong = new Person();
        // 객체 구별을 위해 변수에 담기
        
        hong.age = 20;
        hong.name = "홍길동";
        hong.home = "서울";
        // 객체에 있는 변수로 상태 지정
        
        p1.walk();
        p1.introduce("홍길동", 20);
        p1.introduce2();
        // 객체에 있는 메서드로 행동실행
        // 변수가 필요한 메서드에는 매개 변수 만큼 인자를 넣어줌
    }
}

클래스 + 매인 > 프로그램 메인, 딱 하나 만듬, 내 프로그램의 시작점
클래스 > 데이터 묶음 활용, 안에 쓰는 클래스는 메인이 없이 사용

0개의 댓글