JAVA 객체

동제동이·2023년 3월 13일
1

JAVA

목록 보기
2/5
post-thumbnail

- 객체란?

객체는 현실에 존재하는 사물이나 개념으로,
객체지향 언어에서의 객체는 클래스에 정의된 내용대로 메모리에할당된
결과물이다.

얼굴을 예로 들면, '얼굴'에는 '눈', '코', '입'등 여러 기관들이 있다.
여기서 '눈', '코', '입'은 얼굴을 표현하기 위한 객체다.

프로그래밍에서 객체는 무언가를 코딩으로 표현하는 것

- 객체의 할당

객체는 할당할 때 new 연산자와 생성자를 사용해 클래스 자료형을 갖는다.
이 때, new연산자를 사용하면 힙 영역에 새로운 저장공간을 생성하게 된다.

- 클래스란?

클래스는 객체를 생성하기 위한 설계도라고 생각하면 된다.

예를 들어 의류 공장이 있고 의류 공장에서 '패딩', '상의', '하의' 등을
생산해낸다고 가정하자.
여기서 의류 공장은 클래스이고, 의류 공장에서 생성한 옷들은 객체다.

🙄 그럼 클래스를 왜 쓰는걸까?
😀 만약 학생 정보를 입력한다고 가정하자 그리고 학생 수가 1000명이라면
변수 하나 하나에 학생 정보를 입력해야된다.

배열을 사용할 수 있겠지만 기능까지 추가한다고 한다면 복잡해질거다.
하지만 학생 클래스를 만들고 학생 정보객체를 간단하게 뽑아낼 수 있다면
조금 덜 고생할 수 있을거다. 그래서 클래스를 사용한다.

// 학생 입력
String student1 = "이름은 둘리, 나이는 100살, 성별 남";
String student2 = "이름은 또치, 나이는 6살, 성별 여";
String student3 = "이름은 도우너, 나이는 200살, 성별 남";
String student4 = "이름은 마이콜, 나이는 20살, 성별 남";

System.out.print(student1);
System.out.print(student2);
System.out.print(student3);
System.out.print(student4);

// 학생 클래스
Student student = new Student();
student.print();


✌️ 추상화 : 프로그램에서 필요한 정보만 찾아 공통점을 추출하는 것

위의 그림처럼 추상화를 할 때 필요한 곳에 필요한 값만 받으면 된다.
이 때, 받아야할 값이 저장된 변수이름은 알아보기 쉽게 작성하는게 좋다.


클래스에서 객체를 만들 때 **인스턴스화(instantiation)**라고 부른다.

- 클래스 선언

// 클래스 선언
[접근제한자][예약어] class 클래스명 { }
public class ClassName{
	// 속성값 설정(맴버변수 || 필드)
    // [접근제한자] [예약어] 자료형 변수명;
	private String userName;
    private int user_No;
    
    
    // 생성자
    // [접근제한자] 생성자명(){}
    public ClassName(){}
    
    
    // 기능정의 설정(메소드)
    // [접근제한자] 반환형 메소드명(매개변수) { 기능 정의 }
    public void printName(String name) {
    	System.out.print(name);
    }
}

0개의 댓글