public interface Student { String getName(); } public interface Citizen { String getName(); } public class Brad implements Citizen, Student{ @Override public String getName() { return "Brad"; } } Student Interface 와 Citizen Interface 를 동시에 구현하는 Brad 라는 클래스가 있습니다. 각 인터페이스는 getName 이라는 문자열을 반환하는 메서드를 가지고 있고 이 인터페이스를 구현하는 Brad 클래스는 반드시 getName 메서드를 오버라이드 해야 합니다. Brad 클래스 에서는 getName 을 오버라이드 하고 있습니다..

String 은 웹개발을 할 때 가장 많이 사용하는 자료형입니다. 그러다보니 실무에서는 String 객체를 잘 알고 활용하는 것이 중요합니다. 그런데 생각보다 String 객체를 잘 못 사용해서 생기는 버그가 많습니다. 오늘은 간단하게 String 객체를 비교할 때 주의해야 할 점 세 가지를 알아 보도록 하겠습니다. String class 의 method 를 소개한 포스트가 있으니(링크) 참고하시면 좋을 것 같습니다. 1. '==' vs equals() String 자료형을 선언하는 방법은 크게 두 가지가 있습니다. 하나는 리터럴 문자열 값을 대입하는 것이고 하나는 new 키워드를 사용해 String 객체를 직접 생성하는 방법입니다. 그런데 두 값을 '==' 연산을 통해 비교하면 같은 문자열을 저장하고 ..

지난주 한 회사의 면접에서 다음과 같은 질문과 답변을 주고 받았습니다. 면접관 : 추상 클래스와 인터페이스의 차이에 대해서 설명해 보세요. 나 : 네, 추상 클래스는 추상 메소드를 가진 클래스이고 인터페이스는 추상 메소드로만 이루어져 있는 것입니다. 면접관 : 다른 차이점은 없나요? 나 : (당황) 어... 제가 실무에서는 거의 인터페이스만 사용해 봐서... 잘 모르겠습니다. 면접관 : (실망한 표정) 네, 알겠습니다. 집에 돌아오며 생각해 보니 제가 알고 있는 것만으로도 그 자리에서 몇가지 대답을 더 할 수 있었을텐데 당황하는 바람에 제대로 답변을 못 한 부분이 아쉬웠습니다. 만약 다른 면접장에서 비슷한 질문을 받게 된다면 더 잘 대답하기 위해 추상클래스와 인터페이스의 차이에 대해 기록해 두려고 합니다..
자바의 작동 방식에 대해서 간략하게 알아보도록 하겠습니다. 먼저 자바 언어 규칙에 따라 만들어진 소스 코드가 필요합니다. 이 소스 코드는 컴파일러로 보내지고 컴파일러에서 바이트코드로 변환되어 나오게 됩니다. 컴파일된 소스코드를 Java virtual machine이 실행합니다. 자바 코드의 구조입니다. 가장 먼저 클래스가 있고 그 안에 메서드, 메서드 안에는 선언문들이 존재합니다. 클래스와 메서드, 선언문 이 세가지가 자바 코드를 이루는 기본이라고 할 수 있습니다. 이렇게 코딩 된 코드는 컴파일러로 전달되어 바이트 코드로 바뀌게 됩니다. 컴파일러는 한 언어를 다른 언어로 번역하는 번역기의 역할을 하고 보통은 고급언어를 기계어에 가까운 언어로 바꾸는 역할을 합니다. 프로그래밍 언어는 대부분 인간이 이해할 ..
- Total
- Today
- Yesterday
- 동적계획법
- 마르코프
- 자바스크립트개론
- 경고
- html
- DP
- Count
- 코딩의 기술
- RESTful
- 야근
- 몰라서망신
- Markov
- was
- 자바스크립트 개론
- 문장 생성기
- 마르코프 연쇄
- 클린코드
- 크롬
- restful api
- 디자인패턴
- REST API
- GROUP BY
- 로그
- 전략패턴
- 유지보수
- java
- CONVENTIONS
- Spring in Action
- Warning
- markov chain
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |