[TIL 23.01.23] 설날에도 코드를...

이승렬·2023년 1월 24일
0

항해99

목록 보기
14/34
post-thumbnail

오늘은 설날이고 중간에 좀 쉬는 시간이 있긴했지만
역시나 알고리즘 스터디 때문에 책상에 앉아서 공부를 하게 되었다.

일단 스터디 문제는 어렵지 않지만, 조금 언어에 익숙하게 만들어야 겠다는 생각으로 진행하고 있다.

같이 스터디를 하시는 분께서 추천해주신 코드리뷰에 관련해서 이야기를 하고
오늘 알게된 깃 혹은 객체지향 개념에 대해서 이야기를 하고 TIL을 마무리 해보려고 한다.

Q1. 코드리뷰란?

출처: https://wodyios.tistory.com/14

이번에 알게된 것인데, 코드리뷰란 PR 을 날린 상태에서
코드에서 고쳐야 할점이 있나 없나 판단해서 comment 를 날릴 수 있는 방식이다.
이번에 github에서는 따로 브랜치나, merge 할때의 요구사항이 별로 없어서 PR을 통해서 코드리뷰만 하기로 진행을 하였다..

Q2. git Push 관련해서 의문점 해결

git push 를 할때 계속해서 fatal 오류가 떠서 의문이 계속 생각을 했다.

Fatal: Not possible to fast-forward, aborting.

다음과 같은 오류가 계속해서 나와서 어떻게 해결해야 하는지 알아봤다.

일단 결론부터 이야기를 하면 다음과 같이 할 수 있다.

git pull --rebase

다음과 같이 해결할 수 있다.

더 플러스적인 측면은 블로그를 확인해보자.

Q3. 객체지향 파트원 예제 만들어서 정리해보기

package Price;

import java.util.HashSet;
import java.util.List;

class My_price {
    // iv 선언
    int income;
    int count;
    // cv 선언
    public static int total_income = 0;

    // 생성자
    My_price() {
        income = 0;
        count = 0;
    }

    public void setTotal_income(int new_income) {
        My_price.total_income += new_income;
    }

    // 총 이득값 반환
    public int getTotal_income() {
        return total_income;
    }

    // 총 이득값 업데이트


}


class Marketing{
    // total Price 요구
    int p;
    Marketing()
    {
        this.p = My_price.total_income;
    }

}


public class Price {

    public static void main(String[] args) {
        // 객체를 선언하고 공간까지 만든거
        My_price p1 = new My_price();
        My_price p2 = new My_price();

        // p1 인스턴스 객체에 이득이 생겨서 income 증가
        p1.income = 200;

        // 총 이득에도 여거를 더하고싶다.
        //My_price.total_income += p1.income;
        p1.setTotal_income(p1.income);

        // p2 인스턴스 객체에 이득이 생겨서 income 증가
        p2.income = 300;

        // 총 이득에도 여거를 더하고싶다.
        // My_price.total_income += p2.income;
        p1.setTotal_income(p1.income);


        // 구하고 싶은거? => total 이득이 얼마인가?


        // 참조변수를 통해서 getTotal_price 를 불러오는 건데
        // 아까 말씀하셨다 시피, 만약 static 이였다면,

        // static 멤버를 쓰고싶다.
        // 저 Instatnce method 토탈1 을 쓰는 대신에
        // My_price.total_price
        //My_price

        //총 수입 출력해줘

        // Class 에 직접 침투는 위험함으로 그냥 메서드를 통해서 불러온다.
        System.out.println(My_price.total_income);
        System.out.println(p1.getTotal_income());


    }

}

Q5. set 개념 예제로 만들어보기


class Solution2 {
    public int solution(String[] s1, String[] s2) {
        int answer = 0;


        String[] s3 = new String[]{"a","b","c","a"};
        HashSet<String> set = new HashSet<>(List.of(s3));
        System.out.println(set);


        for (String string : s2) {
            if (set.contains(string))
                answer++;
        }

        return answer;
    }
}

마치며..

오늘도 열심히 했다.
일단 이번주 목표는 객체지향 + 예외처리 마무리...!

profile
Backend_Developer

0개의 댓글