안녕하세요! 최근 지인들과 코틀린 스터디를 시작하게 되어서 코틀린에 대해서 학습을 해보고 있었습니다. 아직 깊이있게 이해했다라기 보다는 학습해나가는 중인데요. 자바에서 단점이라고 느꼈던 여러 문제들을 해결하기 위해 젯브레인사에서 얼마나 공들였는지 조금은 이해가 된달까요... 뭔가 Java + TS 느낌도 나구요.. ㅎㅎ 아무튼 코틀린의 매력에 빠져서 재미있게 시간을 보내고 있습니다. 스터디 과제가 자바와의 비교를 통해 코틀린에서 중요한 점을 정리해보는 것이여서 이를 정리할 겸 제가 느낀 코틀린의 첫인상과 자바와의 비교를 통한 가치를 글로써 남겨보고자 합니다. 코틀린에 대해 잘 모르는 자바 개발자가 쓴 글이니 지적은 언제나 환영입니다! 코틀린은 JPA랑 왜 같이 쓰면 안될까?기존에 자바 + 스프링 + JP..
자바를 사용해 코딩을 하다보면 static 이라는 키워드를 보게 됩니다!대표적으로 public static void main() 과 같은 구문에서도 볼 수 있죠! 오늘은 이 static 키워드가 무엇을 의미하고 어떻게 동작하는지 알아보겠습니다! 자바의 static자바에서 static 키워드는 클래스 수준에서 변수를 선언하거나 혹은 메서드를 정의할 때 사용합니다.static의 사용을 통해 클래스의 인스턴스에 속하는 것이 아닌 클래스 자체에 속하는 멤버를 만들 수 있습니다.예를 들어볼까요?static 변수static 변수는 정적 변수 혹은 클래스 변수라고도 합니다. 클래스의 모든 인스턴스가 공유하는 변수 입니다.public class Counter { private static int count = 0..
자바 어플리케이션의 성능을 확인하고 개선하기 위해선, 자바 메모리 구조에 대한 이해가 필요합니다.자바의 메모리 관리를 잘 하기만 하더라도 어플리케이션이 더욱 효율적으로 실행 될 수 있죠! 자바의 메모리 구조 자바의 메모리 구조는 크게 3가지로 나눌 수 있습니다.메서드 영역: 이 영역은 모든 스레드가 공유하는 메모리 영역으로, 클래스 수준의 정보(클래스 로더에 의해 로드된 클래스와 인터페이스의 메타데이터), 정적 변수를 저장하는 static 영역, 상수를 저장하는 Constant Pool 로 이루어져 있습니다. 이 영역은 어플리케이션이 실행되는 동안 잘 변하지 않는 정보를 저장하는데 사용합니다.스택 영역: 자바 어플리케이션 실행 시, 어플리케이션 내의 스레드마다 각 스레드의 스택이 존재하게 되는데, 해당 ..
안녕하세요, 이번에 Kernel 360 과정에 참여하게 되면서 기술 세미나를 맡아 준비하게 되었는데요. 거의 대부분의 팀들이 Java 와 Spring Framework 환경으로 프로젝트를 진행하고 있었습니다 (역시,, 자바민국) 그로 인해, 자바라는 언어를 처음 접하는 크루들도 굉장히 많았는데요. 그래서 이번 기술 세미나를 통해 자바의 장점을 설명하고 싶었어서 자바의 가비지 콜렉션(GC) 에 대해 발표를 하기로 하였습니다. 이번 블로그에선 발표를 위한 자료를 정리할 겸, 가비지 콜렉션에 대해 함께 알아보도록 하겠습니다! 가비지 콜렉션이란? #include #include void main() { int* pPoint; pPoint = (int*)malloc(sizeof(int)*5); pPoint[0] ..
자바라는 언어를 하면서 String 클래스를 접하지 않은 사람은 없을 것입니다. 저도 마찬가지로 프로젝트를 진행하며 자바 코드를 작성할 때에는 String을 사용해왔고, 문자열 연산도 String + String 이런식으로 사용해왔습니다. Java 라는 언어를 제대로 공부해보게 되면서 StringBuffer 클래스와 StringBuilder 클래스에 대해 알게 되었고 간단하게 알아보았을 때에는 그냥 String과의 차이점을 알지 못하고 필요성도 느끼지 못했습니다. 이시간은 함께 String / StringBuffer / StringBuilder 를 비교해보며 그 쓰임을 알아보도록 하겠습니다. String 자바에서 String을 선언하는 방식에는 두 가지가 있습니다. // way1 String name =..
자바에서 소수를 표현할 때 보통 double 이나 float 형식의 자료형을 사용합니다. 자바 관련 강의를 듣는데 강사님께서 이런 말씀을 하시더라구요. double과 float 대신 BigDecimal 자료형을 사용하세요! 왜 이런 말씀을 하시고 왜 double 과 float 대신 BigDecimal을 사용해야 하는지 알아봅시다. 부동소수점 연산의 정확도 문제 float 나 double은 부동소수점으로 값을 표현하다 보면, 소수점 이하의 값이 정확하게 표현이 안되는 오류가 발생합니다. double a = 1.03; double b = 0.42; System.out.println(a - b); // 결과 0.6100000000 위에서 보여지는 코드와 같이 연산이 실행되면, 연산의 기댓값인 0.61이 출력되..