JAVA 상속

 ->재정의 하고자 하는 자식 클래스에서 메소드 위에 @Override 적어주면 된다.



 ->재정의한 자식 클래스에서 재정의 한 메소드에서 부모 클래스의 메소드를 사용하고 싶으면 super.메소드() 를 사용한다.


->MainClass 에서 클래스를 자식 클래스를 생성하는데 오른쪽에 ParentClass의 생성자 부터 작동하는 것을 볼 수 있다. 즉, 부모클래스가 먼저 생성되고 자식 클래스가 생성된다는 것이다.

'프로그래밍 > JAVA' 카테고리의 다른 글

JAVA 싱글턴 패턴  (0) 2018.07.19
자바 interface(인터페이스)  (0) 2018.07.18
자바 Static 변수  (0) 2018.07.16
리펙토링(Refactoring)의 원칙과 정의  (0) 2018.07.16
[JAVA 자바] 백준 1152번 단어의 개수  (1) 2018.07.08

자바 백준 2581번 소수


다 풀어놓고 오류하나 못찾아서 시간이 더 걸렸다. 간단히 풀 수 있는건데 문제 끝까지 안 읽어서 또 틀렸다....


백준 1978번 소수 찾기 [JAVA]


입력 받은 값이 0,1,자신이 아닌 수와 나눠 나눠떨어지면 소수가 아니게된다. 즉, 1과 자기자신만의 값을 가지는 값이 소수이다. 


 static 변수는 팀원들과의 '공유'라고 생각할 수 있다.

 static은 클래수 변수이기 때문에 변수를 static으로 선언하면 다른 패키지에서 객체를 생성하지 않고도 바로 변수에 접근 할 수 있다.



MONEY 를 static 변수로 선언한다.



import를 위와 같이 해주고 바로 MONEY 변수에 접근한다.



이제 메인 클래스에서 FirstChild 클래스에 있는 메소드를 불러와 사용한다.


static 의 장점과 단점



리펙토링 원칙

코드의 양을 줄어야 합니다. 한 메쏘드에 5줄이 넘어가면 의심해 봐야 합니다.

모든 것을 다 할 수 있는 슈퍼 메쏘드/객체는 없어야 합니다. 한가지 기능을 하도록 단순하게 해야 합니다.

작고 응집력있게 만들어야 합니다. - SOLID 중에 SRP

중복제거! - DRY Don't repeat yourself!!

종속성 제거 - 종속성을 줄이기 위해 노력해야하는 것이 아니라 없애야 합니다.

자체 문서 작성 코드 - 주석이 필요 없이 코드를 보고 이해할 수 있도록 해야 합니다.

코드는 보는 즉시 이해할 수 있어야 합니다. - 코드의 양을 줄이는 것을 의미하는 것이 아니라 명확하게 표현되어야 합니다. 

원시적인 강박관념을 피하세요. - 높은 추상화 생성에 집중해야 합니다.

자주 확인하고 작은 단계로 진행하세요. - 모든 커밋은 한 개의 변경사항만 가지고 있어야 합니다.- 1 commit 1 change

피드백 주기를 단축시키세요.

다른 개발자는 루프에 보관하세요.

커다란 고통스러운 머지는 피하세요.

코드를 한 종류의 추상화 수준으로 맞추세요. - 모든 메소드는 한가지만 해야 하고, 각 메서드는 각각 한 가지 작업을 하는 다른 메서드에 위임해야 합니다.



리펙터링 하지 말아야 할 때.

다른 코드를 변경하는 동안 리펙터링하지 마세요. 리펙토링을 기록하고 버그 수정이나 기능 변경이 커밋되면 완료하세요. 절대로 다른 코드가 변경되는 동안에 리펙토링을 수행하지 마세요. 

나쁜 냄새를 맡으면 메모를 남깁니다.

하던 일을 마무리 짓습니다.

커밋합니다.

리펙터링 시작

혼자서 리펙토링하지 마세요. 문제에 대해 눈 2개를 같이 가지고 진행해야 합니다. 페어 프로그래밍은 리펙토링하는 동안에 필수적입니다. 짝은 코드를 이해하기 쉽게 만들고, 좋은 이름을 가지고 기존 로직을 망치지 않는데 도움을 줍니다.



리펙토링 해야 할 

버그 수정이나 기능 변경 전이나 후에 리팩토링 할 수 있습니다.

변경으로 인해 코드 디자인이 개선된다고 생각한다면

변경으로 인해 다른 개발자를위한 코드의 가독성이 향상된다고 생각한다면




Refactoring(리펙토링)의 정의 



[JAVA 자바] 백준 1427번 소트인사이드


이번 문제는 앞선 단계의 문제들을 푼 사람들이라면 쉽게 풀 수 있는 문제라고 생각한다. 



자바 백준 10989번 수 정렬하기 3


두 가지 방법이 있다.

첫 번째 방법은 입력받은 값을 배열에 저장하고 버퍼로 출력을 받는것이다.


두 번째 방법은 버퍼에 값을 입력 받고 출력 하는 것이다.

자바 JAVA 백준 2750번 수 정렬하기


ArrayList에 입력 값을 저장해주고 sort(정렬)한다음 출력해 주면된다.



N이 40000만 보다 작다라는 조건이 있을 때부터 뭔가 있다고 생각했는데 역시는 역시다.

왠만한 알고리즘 가지고는 시간초과를 막지 못할거 같다. 

계속 생각해 보며 해법을 찾아야겠다. 그래도 코드는 한번 올려본다.


먼저 입력받은 문자를 숫자로 나눠주고 6과 9를 제외한 숫자들이 카운터 될때마다 각 해당 배열의 값을 1증가 시키고 6과 9는 홀수번째로 카운터 될때만 1씩

값을 증가시켜 구한다. 마지막에 Collection에 넣어 정렬 한 후 제일 큰 숫자를 검색해주면 된다.



+ Recent posts