본문 바로가기

오버로딩(Overloading)과 오버라이딩(Overriding)를 사용하는 이유 오버로딩과 오버라이딩은 클래스의 다형성을 지원하는 방법이다. 오버로딩이 지원되지 않으면 매개변수의 타입이나 개수가 다른 메소드를 여러개 만들어줘야 하는 단점이 있다. 자바에서는 메소드의 이름이 같고 매개변수를 다른 메소드를 만들어 다형성을 지원한다.여기서 오버로딩은 리턴타입은 전혀 영향을 주지 않고, 매개변수의 타입과 개수에만 영향을 받는다. 오버라이딩은 상속받은 클래스의 메소드가 하위 클래스에서 충분한 기능을 제공하지 않거나, 부족할 때 상위 클래스로부터 상속받은 클래스를 재정의 하는 것이다. 두 방법은 이름이 비슷하기 때문에 용어에 관련된 측면에서 보면 굉장히 헷갈리게 해놨다. (나쁜놈들) 평생 헷갈릴것 같은 불길한 예감이 드는 것은 왜일까. 항목 오버로딩 오버라이딩 함수명 같다 같다 매개변수, 타입.. 더보기
다시 공부하기 기술면접을 봐보니 느낀점이 아주 많았다. 특히 기본기라는 측면에서 부족함을 느끼게 되었다. 아주 간단한 개념에 대한 질문인데도 실무에서 사용하지 않으니 잊혀진 것들. 어렴풋이 알고는 있지만 말로 풀어 설명하기 어려운 것들. 올바르게 쓰고 있다고 생각하지만 왜 그렇게 쓰는지 생각없이 사용하는 클래스들. 그 동안 코딩하면서 왜 이 클래스를 사용하지, 왜 이 메소드를 호출하지. 왜 이런 순서로 실행되는지에 대한 기본적인 물음 없이 그저 받아들이면서 사용해왔다. 이런 작은 차이가 나중에 큰 차이가 될 것이라고 생각되지 않았기 때문에 기술면접에서 떨어지고 말았다. 생각. 나의 한 타이핑, 한줄이 왜 나온것인지 분명하게 알고 넘어가야 좋은 개발자가 된다고 생각이 들었다. 그래서 블로그를 시작한다. 더보기
SimpleDateFormat 을 쓰는 이유 SimpleDataFormat를 쓰는 이유는 간단하다. 날짜나 시간에 관련된 작업을 할때 사용자가 원하는 포맷으로 출력하기위해 주로 사용되는 클래스다. 데이터 포맷에 사용되는 테이블은 위와 같으며 자바 API 페이지에서 가져왔다. 내가 개발하면서 사용되는 방법은 다음과 같다. 123long startTime = System.currentTimeMillis();SimpleDateFormat dayTime = new SimpleDateFormat("yyyy-MM-dd a hh:mm:ss.SSS");String str = dayTime.format(new Date(startTime));cs 이런 방식으로 출력하게 되면 하단과 같이 출력할 수 있다. 2019-02-12 PM 05:19:18.140 시스템 로그를.. 더보기