분류 전체보기 869

Java Generic Erasure

제네릭 지우개 기능? 뭐지? 뭘까요 ? C# 코드 Java 코드 두 코드의 차이는 거의 없습니다. 다 모두 제네릭을 인자로 받아 List 타입을 체크 하는 것입니다. 그런데 C#의 코드는 정상적으로 구별 해냅니다. 그 이유는 코드가 컴파일 되는 시점에서 Intermediate Language코드가 타입에 대한 정보도 같이 저장하고 있습니다. 이 코드가 Common Language Runtime 에서 실행 되는 때에 IL코드를 바이너리로 변환 하는데 바이너리 역시 타입 정보까지 변환합니다. 그렇기 때문에 더 우수한 제네릭 기능입니다. 그렇지만 Java의 경우 컴파일 에러를 발생시킵니다. 로 변환하라는 것이죠. 그러나 이 와일드 카드의 의미는 이므로 Object의 자손들 ..

IntelliJ JVM options 설정

딱히 제가...잘 쓰는 IDE가 아닌지라...자세한 소개는....못할 듯 합니다. 개인적으로 정리가 잘 된 블로그를 소개 하겠습니다. 인텔리J 시작하기 Part1 (Getting Start IntelliJ) -기본 설정편- BeyondJ2EE - https://beyondj2ee.wordpress.com/ idea.exe.vmoptions 를 텍스트 에디터로 열어서 수정 해야 합니다. ^^ 뭐 다들 유료 텍스트 에디터들 한 놈씩은 있잖아요 ? 뭐 거 뭐 에디트 플러스...등등 (무료도 많습니다.) 참! 경로는 저 같은 경우는 IDE 경로를 다 깔끔하게 잡아주는 편이라 경로가 다릅니다. 기본 설정으로 설치하셨다면, C:program files에 있을 확률이 높습니다. 초기엔 위와 같습니다. 조금 살짝 바뀌..

Eclipse Theme 설정 이야기

이클립스를 사용하다 보면 좀 지루할때도 있고, 흰 바탕에 눈이 시릴수도 있습니다. 마이 아이즈...ㅠ 그리하여 테마를 바꿔 봅시다. 까맣게... Eclipse Theme 설정 Marketplace로 진입합니다. Theme 라고 검색 한 후 처음 나오는 Moonrise를 설치합니다.굉장히 잘 만든 테마.. 뭐 이런건 다 할 줄 알잖아요? 그리고 밑으로 스크롤을 내리다 보면 보이는 Color Theme를 설치합니다. 이녀석을 텍스트 View 창을 변경 시켜 줄 녀석입니다. 그리고 Preferences로 진입합니다. General - App~ - Theme 옵션바에서 우리가 설치한 Moonrise로 교체 Appearance - Color Theme - MonoKai 선택 Apply - Ok 클릭 누구나 따라 ..

Python class의 멤버에 관한 이야기 2

Python에 대한 클래스 멤버 이야기 2 출처:생활코딩 여기서 보시다 시피 루비와 유사합니다. 우선 파이썬에서 클래스 변수 선언 방법은 ............... 잘 들으셔야 합니다. 바로 ,,, "클래스 내 / 메소드 밖" 입니다. 즉, count가 선언 되어 있는 곳에서 선언 해주신다면, 클래스 변수가 됩니다. 참 쉽죠??ㅎ 그리고, 루비도 마찬가지로 클래스 변수는 초기화를 해주어야 합니다. 그렇지 않으면, 시작 값이 뭔지 모르기에 컴퓨터가 "뭔 코드냐?"라며 에러를 내 뿜습니다. 그리고 __init__은 파이썬의 생성자라 생각 하시면 쉽습니다. 그리고 메소드에서 빠져서는 안되는 self의 인자! 기억 해둡시다. 파이썬에서는 self 파라미터를 입력 해주어야 합니다.

Python class의 멤버에 관한 이야기 1

Python에서 클래스 멤버에 관한 이야기입니다.출처:생활코딩 루비와는 다르게 파이썬언어는 두가지 형태가 존재 합니다. 클래스 메소드와 static 메소드입니다. 두가지를 사용하려면 루비와는 다르게 메소드 위에 @staticmethod / @classmethod를 지정해주어야 합니다. 그렇게 되면 클래스 멤버로 소속 되는 거죠. 인스턴스 메소드와는 다른 차이점을 가지게 됩니다. 그리고 중요한 팁! 클래스 메소드의 경우 cls 라는 인자를 넣어주셔야 합니다. 그 외는 기타 다른 언어에서 사용 했듯이 클래스 메소드를 사용하시면 됩니다. 사용 예시는 차차 진행하면서 사용하도록 하겠습니다. 보통 공통된 변수(예를 들어 동일한 객체가 공유해야 하는 값들), 공통된 작업을 해야 하는 경우 클래스 메소드로 지정하여 ..

Ruby class의 멤버에 관한 이야기 2

루비 클래스 멤버 이야기 2 시작합니다.출처:생활코딩 이번에 설명하는 것은 클래스 변수라는 것입니다. 사실 위 코드는 객체가 생성 되면, count 변수라는 녀석이 점점 증가 합니다. 제가 3개의 객체를 생성 했으므로 총 3 이라는 숫자가 count 변수에 속하게 됩니다. 그런데 어떻게 변수가 객체 생성 전에 있는 걸까요 ? 그건 @@ 기호로 정의 되어 클래스 변수이기 때문이죠. 객체 생성 이전에 count 변수는 미리 로드 됩니다. 자바, C 기타 언어들에서 지원하는 static과 같습니다. 다른 언어를 해보셨다면, 금방 아실거라 생각합니다. 그리고 지난 번에 배웠던 클래스 메소드가 있네요 ? ^^ get 메소드형태인데, 루비 언어는 자체적으로 모든 변수(멤버변수, 클래스 변수)는 private 성질을..

Ruby class의 멤버에 관한 이야기 1

오늘 알아 볼 것은 루비 언어에서 클래스 멤버에 관해서 이야기를 하려고 합니다.출처:생활코딩 클래스는 Cs로 정의 되어 있습니다. 그리고 메소드를 살펴보면 좀 특이 합니다. 4라인에 Cs. 라는 클래스 명에 . (dot)이 찍혀있는데 그 뒤로 메소드 명이 붙네요 ? 그런데 7번라인은 일반적인 메소드네요 ? 4라인과 같은 것을 ...바로 클래스 메소드라고 합니다. 이름은 중요하지 않고.. 14행부터 보시면 클래스 사용하는 것을 보시면 더 이해가 쉽습니다. 15번 행은 좀 특이 합니다. 왜냐면 객체로 메소드를 호출하는게 아니라 Cs 클래스명으로 메소드를 호출하는 거죠. 즉, 클래스가 생성된 객체가 아니여도 그 자체로도 Call이 가능합니다. 클래스에 속했기 때문에 클래스 메소드라고 합니다. ( 그에 반해 i..

상속에서 다형성 이야기

public class Product { private int price; public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public Product(int price) { // TODO Auto-generated constructor stub this.price = price; } public Product() { this.price = 100; } } int price는 가격을 의미한다. 이 것은 나중에 자식 클래스에서 물건의 값을 설정 할 것이다. public class TV extends Product{ public TV() { // TODO Auto-generated con..

Vim Editor에 Plugin을 추가해보자.

Vim 에디터에 플러그인을 설치하면 엄청난 개발 속도를 자랑하게 됩니다. 보통 4가지를 설치 하시더라구요. 그 네 가지는 NERDTree, Tlist , AutoCmplPop , Source Explorer 입니다. 아직 사용은 잘 못합니다...;;;; 우선 Vim 홈페이지로 가봅시다. http://www.vim.org/index.php 이 곳에 있는 왼쪽 메뉴 중에 Scripts 클릭 -> 하단 More 클릭 혹은 요기 http://www.vim.org/scripts/script_search_results.php

반응형