본문 바로가기
토이프로젝트 - allt

23.05.19

by J1-H00N 2023. 5. 19.
package nadocoding.Chap_07;

import nadocoding.Chap_07.Camera.ActionCam;
import nadocoding.Chap_07.Camera.SlowActionCam;

public class _17_Final {
    public static void main(String[] args) {
        // Final : 해당클래스 내에서도 값을 바꿀 수 없게 만들기

        // public (final) class
        // public (final) void
        // public > abstract > static > final > ...

        ActionCam actionCam = new ActionCam();
        // actionCam.lens = "표준렌즈";
        actionCam.recordVideo();
        actionCam.makeVideo();

        System.out.println("----------------------------------");

        SlowActionCam slowActionCam = new SlowActionCam();
        // slowActionCam.recordVideo();
        slowActionCam.makeVideo();
    }
}
package nadocoding.Chap_07.Camera;

public final class ActionCam extends Camera { // class에 final을 선언하면 상속도 불가능
    // _17
    public final String lens; // = "광각렌즈"; // 선언과 동시에 초기화도 가능
    public ActionCam() {
        super("액션 카메라");
        lens = "광각렌즈"; // 선언을 미리 해두고 나중에 초기화 할 수 도 있음. 단, final 이기에 한 번 만 가능
    }

    public final void makeVideo() { // 메소드에 final을 선언시 메소드 내 내용도 수정 불가능
        // this.lens = "값 변경"; // final 때문에 불가
        System.out.println(this.name + " : " + this.lens + "로 촬영한 영상을 통해 멋진 비디오를 제작합니다.");
    }
}
package nadocoding.Chap_07.Camera;

//public class SlowActionCam extends ActionCam {
//    // _17
//    public SlowActionCam() {
//        this.name = "슬로우 액션 카메라";
//    }
//
//    public void makeVideo() { // final로 인해 메소드 오버라이딩도 불가능해짐
//        // this.lens = "값 변경"; // final 때문에 불가
//        System.out.println(this.name + " : "
//                + this.lens + "로 촬영한 영상을 통해 멋진 슬로우모드 비디오를 제작합니다.");
//    }
//}

public class SlowActionCam{ // 상속을 받지 못해 일일히 만들어야함.
    public String name;
    public SlowActionCam() {
        this.name = "슬로우 액션 카메라";
    }

    public void makeVideo() {
        System.out.println("자체개발한 비디오 제작 기능");
    }
}

 

package nadocoding.Chap_07;

public class _18_Enum {
    public static void main(String[] args) {
        // 열거형 (Enum)
        // 달력 : Jan, Feb, Mar, ...
        // 옷 사이즈 : XL, L, M, ...
        // OS 종류 : Win10, Win11, MacOS, LINUX, ...
        // 해상도 : HD, FHD, QHD, UHD, ...

        Resolution resolution = Resolution.HD; // 다른 객체 생성처럼 new ~~~() 형태가 아닌 ~~~.@@ 형태로 쓰임
        System.out.println(resolution); // HD

        resolution = Resolution.FHD;
        System.out.println(resolution); // FHD

        // 스위치문이 많이 사용됨
        System.out.print("동영상 녹화 품질 : ");
        switch (resolution) {
            case HD:
                System.out.println("일반화질");
                break;
            case FHD:
                System.out.println("고화질");
                break;
            case UHD:
                System.out.println("초고화질");
                break;
        // 동영상 녹화 품질 : 고화질
        }

        resolution = Resolution.valueOf("UHD"); // 값을 읽어 열겨형으로 바꿔서 저장
        System.out.println(resolution); // UHD

        System.out.println("---------------------");

        for (Resolution myRes : Resolution.values()) { // 열거형에 저장되어있는 값 불러오기
            System.out.println(myRes.name() + " : " + myRes.ordinal()); // .name() 열거형에 있는 이름 전달, .ordinal() 순서 전달
        }
        // HD : 0
        // FHD : 1
        // UHD : 2

        System.out.println("---------------------");

        for (Resolution myRes: Resolution.values()) {
            System.out.println(myRes.name() + " : " + myRes.getWidth());
        }
        // HD : 1280
        // FHD : 1920
        // UHD : 3840
    }
}

enum Resolution {
    HD(1280), FHD(1920), UHD(3840);

    // 각 열거형에 추가 값 저장
    private final int width;
    Resolution(int width) {
        this.width = width;
    }

    public int getWidth() {
        return width;
    }
}

 

 

다른 팀의 발표에서 배운 점

1. 기술적 문제를 해결하기 위한 여러 방안 모색

2. 이슈 정리의 중요성

3. rest api의 기본 4가지 crud(create, read, update, delete)

4. rest api와 branch 명을 더 자세하게 만들기

5. get과 post등의 기능에 너무 의존하지 않고 경우에 따라 프론트엔드에서 구현하는게 더 효율적일 수 있음

6. 애니메이션, 디자인으로 사용자가 알아보기 쉽게 만드는 요소를 추가하는 점

7. 용도에 맞는 get, post 등 설정

8. 저작권!!

9. api 명세서 url은 더 상세하게, 알아보기 쉽게

 

 

우리 조의 피드백에서 배운 점

협업에 대한 어려움은 경험을 통해 해결할 수 있다!

api문서를 작설할 때 value에 예시뿐만 아니라 type(String, int, ...)을 넣는걸 선호한다

 

 

'토이프로젝트 - allt' 카테고리의 다른 글

23.05.20  (0) 2023.05.20
23.05.18  (0) 2023.05.18
23.05.17  (0) 2023.05.17
23.05.16  (0) 2023.05.16
23.05.15  (0) 2023.05.15