분류 전체보기
char타입은 정수인가요?
📝느낀 점 코딩테스트 문제를 풀다가, char타입이 int형으로 대입이 가능하고, 반대로 int타입이 char타입으로 대입 가능하고,, 이게 무엇인가 싶었다. 분명 문자인데..? 이게 왜 가능한거지? 에 대한 생각이 컸기에, 관심을 가지고 나의 블로그에 글을 남긴다. char는 기본형 타입에서 문자 타입으로 분리 되었다고 하지만, 사실상 2 바이트 정수라는 것이다. 그리고 중요한 아스키코드 덕분에 이렇게 가능하게 된 것이라고 이해하고 있다. 팩트는 실제로 컴퓨터는 문자를 구별할 수 없다. 즉, 컴퓨터 안에는 절대 문자가 저장될 수 없을뿐더러, 모든 것이 숫자로 저장되는 것이다. 그렇다면 char는 대체 어떻게 저장되나요? 사람과 컴퓨터가 언어를 교환하기 위해서 만들어진 코드가 있다.대표적인 아스키코드가 ..
String 객체를 생성하는 방법과 내부 동작 원리 (String Pool)
📝느낀 점 String 객체를 생성하는 방식에 대해 리터럴 방식과 new 연산자 방식이 있다는 것을 알고 있었지만, 정확히 JVM 내부 동작 원리까지는 전혀 알지 못하고 있었다. 솔직하게 JVM까지 알아야 되는건가 하는 생각이 컸다, 하지만 예전의 나와 현재 내부 동작을 알게된 후로는 생각 방식 자체가 달라졌다는 것이다. 어떤식으로 저장 되는지, 어떤식으로 가져와 지는지, 메모리 관리 부분에 대해 더 깊이 알게 되어 좀 더 전문성이 생기지 않았나 하는 기분도 들게 되었다. 중요한것은 string에 대한 지식이 생겨 어떻게 String을 사용 시 메모리 및 시간에 대한 낭비가 발생하지 않을까? 하는 생각도 하게 되었다. 앞으로도 JVM에 더 깊은 공부를 해야 겠단 생각을 한다. 두 가지 방법이 있습니다. ..
생성자를 왜 만들어야 하나요? / 컴파일러는 왜 기본 생성자를 자동으로 생성해 주나요?
📝느낀 점 "객체 생성시, 초기화 시 필요한 메서드이다." 정도만 알고 있었지. 존재 이유가 무엇인지, 내가 알고 있는 것이 확실한건지, 중요한 포인트를 잊고 있는것이 아닌가? 하는 생각이 들어 이번 기회에 정리하게 되었다. 확실한건 내가 생성자를 만들지 않아도 굳이 왜, 컴파일러가 자동으로 생성자를 생성해 주는지에 대해 깊이 생각해보지 못했다는 것이다. 이 답변에 대한 이유는 내가 생각하기에, 상속 관계에 대한 호환성이라고 생각한다. "상위 - 하위" 상속관계인 클래스가 있다면, 하위 클래스에서 상위 클래스인 생성자 즉, 초기화시 사용해야 될 부분이 있을수도 있기에 컴파일러는 이런 부분에 있어서 프로그램이 종료 되지 않도록 미리 방지 시켜주는 것이라고 알게 되었다. 생성자 생성자는 클래스와 같은 이름의..
DTO를 만들어 두면 무슨 장점이 있나요?
📝느낀 점 프로젝트 만들때, "아, 남들 전부 DTO라는걸 만들어서 하는구나" 하고 나또한 그냥 따라 치기 바빴다. 그리하여 이번 글을 작성하면서 DTO가 무엇인지, 왜 사용하는지, 이걸 사용함으로서 이점은 무엇인지 공부하였다. 즉, DTO라는 것은 데이터 교환을 위한 객체를 의미한다. 더 확실한 이유는 생성자 때문인 것이다. 객체를 생성할 때 유저의 정보를 당연히 전부 알면 좋겠지만, 그렇지 못할 상황도 있다. 그렇기에, 복잡한 애플리케이션에서 많은 이점을 제공한다는 것이다. DTO란? 계층간의 데이터 교환을 위한 객체를 말합니다. 데이터를 전달하기 위해 사용하는 객체이다. 데이터 담아서 전달하는 바구니 오직, 게터, 세터 메서드만 갖는다 다른 로직은 갖지 않는다 DTO는 일반적으로 데이터 전송 및 객..
상속 정의 / 상속이 갖는 단점들은 무엇인가요?
📝느낀 점 상속에 대해 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 라는 책을 읽고 나의 잘못된 생각들을 바로 잡았던 계기가 되었다. 객체 지향의 상속은 일반인들의 생각하는 상속과는 개념이 다르다는 것이다. 솔직히 말하면 이부분에 대해서도 나는 지금까지 상속이니깐 일반인들의 상속을 연상시켜 생각하면 되겠지하며, 일반인들의 상속과 같게 생각하고 있엇던 것 같다. 그렇게 나또한 지금까지 상속 관계를 설명하면 "부모 - 자식 관계"라고 설명하고 다녔다. 하지만 이젠 이렇게 말하고 다니지 않는다. 제대로 된 표현은 "상위 클래스 - 하위 클래스" ,"슈퍼 클래스 - 서브 클래스" 등등 이렇게 말해야 되는 것이다. 부모 - 자식 관계를 생각해보자면 맨위 클래스에 "할아버지" 그 밑에 "아버지" 그밑에 자..