본문 바로가기

배운 책들 정리/자바 완전 정복

자바의 정석 7 - 객체지향개념 2 (상속, 오버라이딩, this, get&set)

1 팁

1. getter setter 자동생성 (중요!!)

 

* 이클립스

 

 

이클립스 Getter Setter Method 자동 생성하기

이클립스 Getter, Setter 함수 자동 생성 방법 이클립스에서 Getter, Setter 함수가 필요한 Java 파일에 대해서 자동으로 생성하는 방법에 대해서 직접 들어가서 사용하는 법과 단축키(Ctrl+Alt+S, R)를 이용

kanu.tistory.com

 

* vscode

 

 

[VS Code] 클래스 객체의 Getter / Setter 쉽게 생성하기

Getter and Setter Generator 익스텐션을 설치해야 한다. 설치방법 Ctrl + Shift + X 또는 왼쪽 메뉴를 마우스 커서로 클릭해서 Extensions로 이동한다. "getter"를 검색한다. (아마도) 상단에 검색되는 Getter and Sett

charliecharlie.tistory.com

 

2 복습

1. 

 

스킵

 

 

3 이론

 

1. 상속

 

 

2. 오버라이딩

 

 

3. final

 

상수로 표현하기

 

4. abstract

 

 

 

4 실습

1. 삼각형

 

main

package j0522;

import java.util.Scanner;

public class C0522_11 {
	public static void main(String[] args) {
		// Circle 객체 선언
		Circle c1 = new Circle(); // 원 객체 c1 생성
		Point center = new Point(150, 150); // 중심점 좌표 (150, 150)
		Circle c2 = new Circle(center, 50); // 중심점 (150, 150), 반지름 50인 원 객체 c2 생성

		int[] x = { 1, 2, 3 }; // 정수 배열 x 선언과 초기화 [1, 2, 3]
		int y = 10; // 정수 변수 y 선언과 초기화 10

		Point[] p = { new Point(100, 100), new Point(140, 50), new Point(100, 100) };
		// 점 객체 배열 p 선언과 초기화
		// 점1: (100, 100), 점2: (140, 50), 점3: (100, 100)

		Triangle t1 = new Triangle(p); // p 배열을 사용하여 삼각형 객체 t1 생성

		Triangle t2 = new Triangle(p[0], p[1], p[2]); // p 배열의 첫 번째, 두 번째, 세 번째 요소를 사용하여 삼각형 객체 t2 생성
	}
}

 

class

package j0522;

// 삼각형 - 점이 3개가 필요
public class Triangle extends Shape {
	Point[] p; // 인스턴스 변수 - 삼각형을 이루는 점들을 저장하는 배열

	Triangle(Point[] p) { // 점 배열을 입력받는 생성자
		this.p = p; // 인스턴스 변수에 점 배열 할당
	}

	Triangle() {
	} // 기본 생성자

	Triangle(Point p1, Point p2, Point p3) { // 점 3개를 입력받는 생성자
		p = new Point[] { p1, p2, p3 }; // 점 배열에 주어진 점들을 할당
	}
}

 

과정 설명

 

 

 

 

Point[] p = { new Point(100, 100), new Point(140, 50), new Point(100, 100) };

 

 

5 문제풀이

1. 값을 입력하고 출력하시오 (get, this를 사용하여)

 

* main

package j0523;

public class C0523_05 {

    public static void main(String[] args) {
        // 12시 50분 52초를 입력하고,
        // 12시를 출력하시오.

        Time t = new Time(12, 50, 52);
        
        int hour = t.getHour();
        int minute = t.getMinute();
        int second = t.getSecond();
        System.out.println(hour + "시");
        System.out.println();
        System.out.println(hour + "시" + minute + "분");
        System.out.println();
        System.out.println(hour + "시" + minute + "분" + second + "초");

    }

}

 

* time

package j0523;

public class Time {

    private int hour; // 인스턴스 변수 : 객체선언 참조변수.변수
    private int minute;
    private int second;

    Time() {
    } // 기본생성자

    Time(int hour, int minute, int second) { // 매개변수가 있는 생성자
        this.hour = hour; // this - 인스턴스 변수 가리킴
        this.minute = minute;
        this.second = second;
    }

    public int getHour() { // hour의 변수값을 읽어 오는 메소드
        return hour;
    }

    public int getMinute() { // minute의 변수값을 읽어 오는 메소드
        return minute;
    }

    public int getSecond() { // Second의 변수값을 읽어 오는 메소드
        return second;
    }

    public void setHour(int hour, int minute, int second) { // hour의 변수값을 저장하는 메소드
        if (hour < 0 || hour > 23) {
            System.out.println("데이터 잘못 입력됨");
            return;
        }
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }
}

 

6 단축키

1. 단축키

 

 

 

* 핵심

- 인스턴스는 정의를 한 다음에 값을 넣을 수 있음

- int NUMBER; // NUMBER = num // 선언 방식

- getter setter 자동 생성 기능

- 해당 강의편 유투브로 꼭 보고 복습하기

 

 

 

 

* 0523 실습 링크

 

 

GitHub - RosePaku/bigdata_java: 빅데이터_자바의_정석

빅데이터_자바의_정석. Contribute to RosePaku/bigdata_java development by creating an account on GitHub.

github.com

 

728x90
반응형
LIST