객체지향개념 😎 (자바의 정석 6 참고)

리무 rimu ·2022년 10월 22일
1

Java

목록 보기
1/35
post-thumbnail

📌객체의 생성과 사용

  1. 객체의 생성
클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); // 클래스 객체를 생성 후, 객체의 주소를 참조변수에 저장

Tv t; ← t가 참조변수(리모콘) // tv클래스 타입의 참조변수 t를 선언, tv = 참조형,tv 리모콘을 가리킴
                            
t = new Tv(); // tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장, new tv가 tv임

즉, TV(객체)를 다루려면 리모콘(참조변수)이 필요함
대입연산자(객체생성)로 리모콘과 객체를 연결해 줌
= 이게 대입연산자 오른쪽 값을 왼쪽에 있는 변수에 대입해줌

2.객체의 사용 - 객체가 가지고 있는 변수와 메소드를 사용한다는 뜻

t.channe1 = 7; // Tv인스턴스의 멤버변수 channe1의 값을 7로 한다.
t.channe1Down(); // 메서드 사용(호출) Tv인스턴스의 메서드 channe1Down()을 호출한다.
System.out.println("현재 채널은 " + t.channe1 + " 입니다.");

3단계로 만들면 된다!
1.클래스작성(설계도) 2.객체생성(제품을 만들고) 3.객체사용 (제품을 사용)

가비지컬렉터 GC 🚮

청소부 / 자바는 편리하게 주기적으로 메모리를 확인해서 사용하지않는 객체를 지워줌

class Tv { 
	// tv의 속성(멤버변수)
	String color; 
    boolean power; //전원상태 
    int channe1; // 채널
    
    // tv의 기능(메서드)
	void power() { 
    	power = !power; // Tv를 켜거나 끄는 기능을 하는 메서드
       
        여기서 나오는 !(느낌표) 는 논리부정 연산자: truefalse, falsetrue로 변경하기때문에 boolean 타입에서만 사용 가능 
    }
    void channe1Up() {
    	++channe1; // Tv의 채널을 높이는 기능을 하는 메서드
    }
    void channe1Down() {
		--channe1; // Tv의 채널을 낮추는 기능을 하는 메서드
    }
    
    class Ex6_1 {
    	public static void main(String args[]) {
        	tv = t; //Tv인스턴트를 참조하기 위한 변수 t선언
            t = new Tv(); // Tv인스턴스를 생성
            t.channe1 = 7; // Tv인스턴스의 멤버변수 channe1의 값을 7로 설정
            t.channe1Down(); // Tv인스턴스의 메서드 channe1Down에서 메서드 호출
            System.out.println("현재 채널은 " + t.channe1 + "입니다.");
      }
 }
    

논리부정 연산자 (결과값이 boolean)
!A A가 true면 false로, false면 true로 변경

수업때는 이해되지만 집에 돌아와서 다시 복습하면 하나도 모르겠음
그래도 자(바의아)버지 덕분에 그나마 다시 이해가 감........🤣

참조
자바의 정석 기초편 codechobo.com

profile
JAVA / SQL / Spring 을 공부하고 있습니다 🐥

0개의 댓글