본문 바로가기

Programing/자바

(89)
[Java] var는 키워드가 아니다. "개발하자" 라는 슬랙에서 이석민(닉네임 lee_maru)님이 "var는 키워드가 아닙니다."라는 이야기를 해서 찾아보게 되었다. 자바언어 규약(JLS)를 찾아보니 var는 키워드가 아니라고 한다. var is not a keyword, but rather an identifier with special meaning as the type of a local variable declaration reference: docs.oracle.com/javase/specs/jls/se12/html/jls-3.html#jls-3.9 국내 출판된 책들 중에는 var 이 키워드라고 되어 있는 책도 있었다. - 장윤기 님의 Practical 모던 자바
[Java] 지역변수 이름과 죄수번호...? 자바관련 카페에 올라온 질문. 질문 String str = null; 이 상태는 str이 객체를 참조하지 않고 스택영역에 str변수 이름으로 null값이 세팅되었다면 String name = ""; 이 상태는 힙영역에 빈 공간으로 객체가 생성되고 주소 번지가 스택영역에 리턴이 되는건지요.. 슬기로운 감빵생활과 자바 자바에서 지역변수의 이름은 런타임시에 어떻게 될까. 첫 코드에서 str 이라는 이름의 변수 이름은 계속 남아 있을까? tvN에서 했던 슬기로운 감빵생활을 보면서 나는 자바의 지역변수와 유사한 점이 많다고 생각했다. 사회에서 '김제혁'이라고 불리던 이름이 형무소에 가면서 '7102'라는 죄수번호라는 신원을 구별하는 번호로 바뀐다. 자바코드에서는 존재하던 변수이름은 컴파일이 되면서 비슷하게 숫자로..
[Java] Sonarqube: Modifiers should be declared in the correct order 기본이지만 가끔 헷갈릴때가 있다. java:S1124 Modifiers should be declared in the correct order Code Smell Minor convention Available SinceJul 31, 2018 SonarQube (Java) Constant/issue: 2min The Java Language Specification recommends listing modifiers in the following order: 1. Annotations 2. public 3. protected 4. private 5. abstract 6. static 7. final 8. transient 9. volatile 10. synchronized 11. native 12. st..
[Java] 배열 in 자바 자바에서는 배열이 객체이다. 이것은 자바 언어 명세에 적혀있다. JLS 4.3.1 An object is a class instance or an array. 오브젝트는 클래스의 인스턴스이거나 배열이다. C/C++ 의 배열 즉 C/C++의 배열과 달리 자바의 배열은 객체라는 큰 차이가 생긴다. C언어에서는 sizeof 라는 명령으로 자료구조의 크기를 구할 수 있다. #include int main(int argc, const char * argv[]) { int num = 1; int arr[2] = { 1, 2 }; printf("%lu\n", sizeof(num)); printf("%lu\n", sizeof(arr)); return 0; } C언어의 데이터 타입의 크기는 플랫폼(시스템)에 따라 다를 ..
[책] 프로그래머의 장점과 단점 프로그래머의 장점은 A라고 말하면 A를 해준다. 프로그래머의 단점은 A라고 말하면 A만 해준다. 최근에는 이런 이야기도 있었다. [개발자의 머리구조] 어느 아내가 프로그래머 남편에게 「쇼핑하러 갈 때, 우유 하나 사와. 아, 계란 있으면 6개 사와」 남편은 잠시 후, 우유를 6개 사왔다. 아내는 물었다. 「왜 우유를 6개나 사왔어!」 남편「계란이 있길래 6개 사왔지…」
[Java] Effective Java의 Dogma 어제 코드리뷰를 받다가 아래와 같은 댓글을 보았다. from보다는 of가 더 적절할 것 같네요. from: 매개변수를 하나 받아서 해당 타입의 인스턴스를 반환하는 형변환 메서드 of: 여러 매개변수를 받아 적합한 타입의 인스턴스를 반환하는 집계 메서드 이펙티브 자바의 첫 아이템 '생성자 대신 정적 팩토리 메서드를 고려해보자'가 적용된 부분에 대한 리뷰이다. 리뷰하신 분은 책의 내용을 comment에 같이 적어두었다. 이펙티브 자바에 나오는 것 같아서 찾아보니 아래와 같이 맞았다. 한글판은 12~13쪽이다. 평소에 Junior 개발자들이 이펙티브 자바를 스터디를 할 때 참관하면서 교조주의(敎條主義)에 빠지는 것을 자주 경계했었다. 교조주의란 무언가에 대한 굳은 믿음과 그러한 가치관을 뜻하는 의미로 도그마(..
[Java] count++, count+=1, count = count + 1 차이는 아래와 같은 반복문이 있었는데 public class ForSumFrom1To100Example { public static void main(String[] args) { int sum = 0; for (int i = 1; i
[Java] Comparable vs Comparator 비교 Q. 질문 compareble은 정해진 기준으로 정렬할 때 사용하고 comparetor는 사용자가 원하는 기준을 커스텀해서 사용할 때 사용한다고 배웠는데 compareble도 리턴값만 수정하면 사용자가 원하는대로 기준값을 설정 할 수 있는 것 아닌가요? 이 둘의 차이점과 사용 용도의 차이를 잘 모르겟습니다. 인터페이스의 정의 다른 것을 찾아보기전에 각 인터페이스의 정의를 보고 넘어가자. Comparable 인터페이스 (docs) package java.lang; public interface Comparable { public int compareTo(T o); } Comparator 인터페이스 (docs) package java.util; @FunctionalInterface public interfa..