java
[Coding] 달력 출력하기 (Java)
[Coding] 달력 출력하기 (Java)
2019.12.02📌 1. Problem 사용자에게 날짜를 입력받아 달력 혹은 해당 날짜를 출력 연, 월, 일 전부다 입력 받을 시 "YYYY년 MM월 DD일 입니다." 라는 문구 출력 연, 월 까지만 입력 시 해당 연도 월 달력을 출력 연도만 입력 시 해당연도 전체 달력을 출력 🔖 1-1. Problem Solving 여기서 중요한 것은 월 달력을 출력할 때 해당 월 1일이 무슨 요일인지와 거기에 따라 토요일을 기준으로 어떻게 개행("\n")처리를 해야할 것인가이다. 여기에 초점을 맞춰 코드를 짜봤다. 1-1-1. 월 1일은 무슨 요일? 1년 1월 1일이 월요일이라는 것을 이용한다. 입력한 연도 전년도까지 모든 일수를 구하고 입력한 연도의 월, 일까지의 일수를 더해주면 1년 1월 1일부터 입력한 날짜까지의 총 일수가 나..
[Java] equals & hashCode - 두 method에 대한 공부
[Java] equals & hashCode - 두 method에 대한 공부
2019.12.02String 클래스를 사용하다 보면 equals를 통해 문자열이 일치하는지 비교하는 것을 본 적이 많을 것이다. 예를 들어 "BeanieJoy"와 "JoyBeanie" 두 개의 문자열이 일치하는지 아닌지를 비교하려고 한다면 → "BeanieJoy".equals("JoyBeanie") 를 통해 true인지 false인지를 알아볼 것이다. 하지만 Car라는 임의의 클래스를 만들어서 그 안에 정보들을 넣고 그 정보가 다른 객체와 같은지 아닌지를 알아보기 위해 equals를 사용한다면 완전히 다른 결과가 나올 것이다. 예를 들어보자. ≫ Overriding 하지 않은 상황 1 2 3 4 5 6 7 8 9 10 11 12 public class EqualsDemo { public static void main(S..
[Java] Class - Abstract Class를 사용하는 이유(두 번째)
[Java] Class - Abstract Class를 사용하는 이유(두 번째)
2019.11.28전 단계에 이어서 보겠다. 📌 1. Step 4. 🔖 1-1. StopMilliWatch public class StopMilliWatch { // StopNanoWatch class의 맴버변수와 겹친다. // 나중에 새로운 클래스 만들시 또 이 맴버변수를 만들어주어야 한다. private long startTime; private long endTime; // 아래 3개의 method도 StopNanoWatch class와 비슷하다. public void start() { startTime = System.currentTimeMillis(); } public void stop() { endTime = System.currentTimeMillis(); } public double getElapsedTim..
[Java] Class - Abstract Class를 사용하는 이유
[Java] Class - Abstract Class를 사용하는 이유
2019.11.27Java를 한다고 하면 OOP(Object-Oriented Programming)을 바로 떠올릴 것이다. OOP는 객체지향 프로그래밍으로 Object, Abstraction, Class, Encapsulation, Polymorphism, Inheritance 6개의 개념을 포괄한다. Java에서 OOP를 빼면 시체라고 할 정도로 Java에서는 핵심이다. 그중 abstract class(추상 클래스)의 용도에 대해 생각해본 것들을 적어둘 생각이다. 완전 밑바닥부터 추상 클래스를 사용하기까지 단계별로 보여주는 것이 확 와 닿을 것 같아서 여러 step을 통해서 보여주고자 한다. Step 1. 1) FootStopWatch.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ..