abstract
키워드를 붙여서 사용한다.
추상클래스를 상속받는 하위클래스들에서 공통적으로 사용하는 필드와 메소드의 선언부를 통해 하위클래스에서 이 기능을 구현해야함을 알려준다.
abstract
키워드가 붙은 필드나 메소드를 하나라도 가지면 그 클래스는 추상클래스가 된다.
추상클래스를 사용하면 실체클래스를 구현할 때 어떤 메소드를 어떤 규격에 맞게 구현해야 하는지 바로 알 수 있으므로 시간을 절약할 수 있고, 유지보수성을 높일 수 있다.
피자가게에서 피자를 7조각으로 나눠준다. n
명이 먹을 때, 인당 최소 한 조각은 먹기 위해 필요한 피자 수를 구하는 문제였다.
return n%7==0 ? n/7 : n/7+1;
처음에 단순히 7로 나누고 거기에 1을 더해서 코드를 실행해봤는데, 7로 나누어 떨어질 때는 1을 더하면 안 되었다.
그래서 조건문 쓰려다가 귀찮아서 삼항연산자를 썼다.
근데 다른 사람 코드가 조건도 없이 한 줄로 간결하게 끝나서 좀 놀랐다. 천재네;
문자열을 담고 있는 배열이 주어졌을 때, 그 배열에서 각 원소의 길이를 담은 int형 배열을 리턴하는 문제였다.
public int[] solution(String[] strlist) {
int[] answer = new int[strlist.length];
for (int i = 0; i < strlist.length; i++) {
answer[i] = strlist[i].length();
}
return answer;
}
이 정도면 심플하다고 생각했는데 Array
stream
등을 이용해서 또 한 줄로 끝낸 사람 있어서 현타옴;
중간고사 끝나면 진짜 스트림 공부 좀 해야겠다.