[신세계I&C KDT][Java 프로그래밍] #6 객체 object (0314)

박현아·2024년 3월 14일
0

신세계아이앤씨 KDT

목록 보기
6/42

1. 클래스

1) 객체 (object)

  • 주체 (subject)가 바라보는 현실 세계의 모든 사물 및 대상
  • 모니터, 노트북, 책상, 학생, ...

cf) 프로그램 개발 의뢰 시
주문(order) -> 분석 -> 설계 -> 구현 -> 테스트 -> 배포

2) 객체의 구성 요소 2가지

(1) 속성

  • 객체를 표현할 수 있는 특성
  • 학번, 이름, 전화번호, 주소, ...

(2) 동작 (기능)

  • 객체의 행위
  • 등교하기, 공부하기, 하교하기, ...

3) 객체지향 프로그래밍 (Object Oriented Programming : OOP)

  • 현실 세계에 존재하는 속성, 동작으로 구성된 객체라는 개념을 이용해서 프로그래밍 하는 방법론
  • 대표적 언어 : 자바

4) 자바에서는 객체를 어떻게 표현할까?? ★

현실 세계가상 세계 (자바 프로그래밍)
고양이 객체클래스로 표현 (Cat 클래스)
속성 : 이름, 나이, 성별변수로 표현 (인스턴스 변수)
동작 (기능) : 먹기, 뛰기메서드로 표현

5) 클래스 사용하려면?

Main() {
	Cat c = new Cat();
}
  • 반드시 객체 생성 해야된다 ★
  • new 키워드 사용

6) Cat 클래스 작성

  • 주의할 점 : main 메서드를 지정하지 않는다 (클래스 재사용하기 위해) ★ (Cat.java)
  • 실행하기 위해 main 메서드를 가진 임의의 클래스 (핸들링 클래스)를 추가해야 된다
    (ex. TestCat.java)
  • 인스턴스 변수, 인스턴스 메서드, 생성자
public class Cat {
	
	// 인스턴스 변수 (멤버 변수)
	String name;
	int age;
	String gender;
	
	// 메서드 (멤버 메서드, 인스턴스 메서드)
	
	// 생성자 (클래스의 구성요소인 멤버에 포함은 안 됨)
	
}

7) TestCat 클래스 작성

① c

  • 로컬 변수 (stack에 저장), 참조 변수 (주소값 저장, 참조하면 Cat이 있음), Cat 타입의 변수

② new Cat 수행

  • heap 메모리에 Cat을 생성
  • heap 메모리에 생성된 Cat을 인스턴스(instance)라고 부른다
  • 인스턴스 안에 있는 변수와 메서드를 멤버(member)라고 한다
  • heap 메모리의 변수 : 인스턴스 변수 / 멤버 변수
  • heap 메모리의 메서드 : 인스턴스 메서드 / 멤버 메서드

③ Cat()

  • 생성자 호출하는 코드

④ =

  • heap 메모리에 생성된 Cat 인스턴스 주소값을 c에 할당한다
  • 이후에 Cat 인스턴스의 구성 요소 (변수, 메서드)를 접근하기 위해서는 c 참조변수를 이용한다 ( c.변수, c.메서드() )

⑤ 변수명.인스턴스변수명 = 값;

  • c.name = "야옹이";
public class TestCat {

	public static void main(String[] args) {
	
		// 1. 클래스 객체 생성
		Cat c1 = new Cat();
		
		// 2. 고양이 정보 넣기
		c1.name = "야옹이";
		c1.age = 2;
		c1.gender = "female"; // 인스턴스 변수 값 초기화 (원래는 디폴트값이었음)
	
		// 3. 고양이 정보 조회
		System.out.println(c1.name);
		System.out.println(c1.age);
		System.out.println(c1.gender);
	}

}

0개의 댓글