자바에는 8대 자료형이라 불리는 기본 자료형이 있다. 이 기본 자료형을 특별하게 분류하는 이유는 클래스가 아니기 때문이다. 클래스가 아니라는 것은 다른 말로 참조타입(reference type)이 아니라는 뜻이다. 당장 적당한 예시가 떠오르지 않지만, 이 기본 타입들에 대해 객체로 표현해야 하는 경우가 있는데 문제는 참조타입이 아니기 때문에 객체를 생성하지 못하는 문제가 있다. 그래서 Java에는 Wrapper(래퍼) 라고 부르는 클래스가 존재한다. 이 클래스들은 기본 자료형을 참조타입으로 객체를 생성할 수 있도록 해준다. 기본 타입 (primitive type) 래퍼클래스 (Wrapper class) byte Byte short Short int Integer long Long float Float d..
favicon (파비콘) 이란 favorites + icon 을 뜻하는 말로 인터넷 웹 브라우저의 주소창에 표시되는 대표 아이콘이다. 지금 이 블로그에 적용되어있는 파비콘 이미지 이다. 주소 표시줄에 위와 같이 적용되어 있는것을 볼 수 있다. 적용하는 방법은 간단하다. 티스토리 설정에서 '관리' 아래 있는 '블로그' 메뉴에 들어간다. 그 다음 '불러오기' 버튼을 클릭하고 적용하고싶은 이미지를 넣으면 된다. 파비콘을 만드는 방법은 다양하다. 1. 내가 가진 이미지를 그냥 사용한다. 2. 내가 가진 이미지를 파비콘 크기에 맞도록 조절한 다음 사용한다. 3. 파비콘을 만들어주는 사이트를 통해서 만든다. 개인적으로 3번을 추천하는데, 이 3번도 두 가지가 있다. 1. 이미지를 사용해서 만드는 방법 2. 글자를 ..
현재 사용중인 블로그 테마에 따라 조금씩 차이가 있다고 하니 그 부분에서 문제가 되면 개인적으로 해결할 수 밖에 없을것 같다. 우선, 티스토리 설정에서 적용하는 방법을 알아보고난 다음 다른 방법으로 적용하는 방법을 아주 자세하게 정리해두려 한다. 티스토리 설정에서 제공하는 방법을 사용하면 매우 손쉽게 적용할 수 있다. 혹시 코드블럭을 삽입한다는게 무엇인지 모르겠다면 티스토리에서 제공하는 참고 자료를 보면 좋다. 티스토리 설정에 들어가서 '플러그인' 을 클릭하면, 사용할 수 있는 다양한 플러그인들이 나타난다. 그 중에 Syntax Highlight 라는 플러그인이 있는데, 이걸 클릭하면 아래와 같은 팝업이 뜬다. 본문 안의 코드블럭을 다양한 테마로 강조할 수 있도록 몇가지 기본적인 테마를 제공해 준다. 조..
java를 공부하다보면 중요한 개념으로 this 라는 키워드를 만나게 된다. java에서는 보통 다음과 같은 경우에 만나볼 수 있다. public class Test { private String name; private int age; public Test() {} public Test(String name, int age) { this.name = name; this.age = age; } public static void main(String[] ar) { } } this가 사용된 부분은 6, 7 라인이다. 여기서 this는 this 키워드가 작성된 클래스 자기 자신을 뜻한다. 그래서 5라인에서의 name, age와 구분하기 위해 자기 자신임을 뜻하는 this를 사용하고 있는 부분이다. 그 증거로 ..
개인적으로 다른 사이트(?)를 하나 더 운영하고 있다. 사실 티스토리를 시작하면서 그쪽 관리가 소홀해졌지만, 댓글과 같은 것은 가능한 성심성의것 답변을 하고 있다. 그중 이렇게까지 많은 관심을 받아본 적이 없던 컨텐츠가 바로 YBM IT에서 주관하는 COS 자격 시험이다. 이 자격시험에 관한 게시물이 인기가 많고 관심을 많이 받는 이유가 있다. 1. 그리 오래되지 않은 시험이라 정보가 부족하다. 2. 2018년부터 점차적으로 소프트웨어 교육을 의무화 하는데 scratch언어가 사용될 것이다. 3. COS 시험은 scratch 언어로 보는 CBT방식의 자격 시험이다. 그래서 온오프라인에서 자주 받았던 질문을 정리 해보려한다. (네가 뭔가 이런 소릴 하냐고, 신빙성 있는 내용이냐고 의심스럽다면 이 링크를 참..
자바에서 인터페이스를 사용하는 이유가 무엇일까? 아마 인터페이스를 처음 접해보는 분들이 많이 궁금해 하는 부분일거라고 생각한다. 그냥 그 기능을 클래스로 구현해도 될 것 같은데 번거롭게(?) 인터페이스까지 사용해서 또 인터페이스에 대한 학습도 해야하기 때문이다. 이세상 모든건 그게 왜 필요한지를 알면 이해하는데 도움이 많이 된다. interface라고 쓰는 이 인터페이스는 결론부터 얘기하면 '공동 작업시 충돌을 방지하기 위해서'라고 한다. 다른 많은 이점이 있지만, 처음 내가 배울 당시 인터페이스 사용 이유는 공동 작업을 할때 유연함을 위해서다. 다음과 같은 상황을 생각해보자. A씨는 필기도구를 사용해서 글씨를 쓰는 프로그램을 개발하는 프로젝트를 진행하고 있다. 그러던 중 같은 팀의 연필을 개발하는 김개..
Q > 예를 들어 int[] a = new int[5]가 있으면 이 배열도 객체라는데 무슨말인지 잘 모르겠습니다. int라는 이름의 클래스가 있다는 말과 동일하나요? Integer Wrapper 클래스와 연관성은 없는 것 인가요? 알기 쉽게 설명해주세요. A > 배열을 객체라고 부른다. 그 이유가 무엇일까? 보통 객체를 생성한다라고하면 클래스의 객체를 많이 떠올린다. 그렇다고 클래스부터 설명을 할 수는 없는 노릇이다. 클래스에 대해서는 안다고 가정하고 클래스와 객체와의 관계에 대해 생각해보자. 클래스는 자료형이다. 이 사실을 잊어선 안된다. 왜냐면 자료형은 그 자료가 가진 형태를 나타내는 것이기 때문에 스스로는 사용될 수 없다. 누군가가 그 형태를 가지는 실체를 만들어 내야만 사용할 수 있다. 이런 관점..
나는 개인적으로 클래스와 객체를 설명할 때 붕어빵 틀을 비유하는걸 싫어한다. 마음에 들지 않는다. 내가 배울 당시 이렇게 배우지 않았을 뿐만 아니라 개인적으로 잘 와닿지도 않았다. 그래서 내가 배운 방법으로 클래스란 무엇이며 이 클래스와 객체와의 관계를 어떻게 이해하면 좋은지 정리해보려 한다. 클래스는 우리가 일상 생활속에서 볼 수 있는 모든 것들을 표현할 수 있는 도구라고 생각하는 것도 좋은 발상이다. 클래스를 구성하고 있는 큰 두가지 개념이 있다. 하나는 멤버필드라는 개념이며 다른 하나는 멤버 메서드라는 개념이다. 멤버 필드란, 그 클래스가 표현하고자 하는 대상이 가지는 속성들을 의미한다. 높이, 색상, 속도, 속력, 방향, 무게 등 일반적인 사물들이 가질 수 있는 모든 속성들을 말한다. 멤버 메서드..
17년 4월 23일 아침 9시 30분 제 6회 YBM IT에서 주관하는 COS (Coding Specialist) 1급 시험을 보고 왔다. 시험을 보러 가기 전에 이것 저것 검색을 해봤는데 1급에 대한 후기가 없어서 남겨본다. 시험에 대해 간단히 소개를 하자면, COS시험은 CBT방식의 시험이다. CBT방식은 Computer Based Testing으로 컴퓨터를 사용해서 컴퓨터가 채점하는 방식의 시험이다. 또 다른 방식으로는 PBT라고 하는 Paper Based Testing방식도 있다. 이 시험을 응시하기 위해 기본적으로 갖추고 있어야 할 지식은 '스크래치 언어'이다. 추후 계획은 다른 진입 장벽이 낮은 언어들에 대해서도 시험이 만들어질 것이라고 한다. (언제인진 모르겠지만) 난이도는 그렇게 어렵지 않..