총 게시물 25건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[2.코드 지식편]

1장 6. 상수는 되도록 기본 데이터형을 사용해야 한다.

글쓴이 : 카이로 날짜 : 2014-02-06 (목) 10:12 조회 : 7326
글주소 : http://www.androidside.com/430/91
 
  다운받기 케이디스크
가입만해도 1,000P 무료지급, 최신영화,드라마,방송 무제한 다운로드
kdisk.me
  파일구리 무제한다운 100원
최신영화,드라마,예능 한달 내내 100원으로 무제한 다운!
disk.fileguri.me
  좋은친구 다운받기 파일시티
다운받기 가입 즉시 1000포인트 지급, 안전하고 빠른 업데이트, 바로보기!
filecity.kr
신청하기


6. 상수는 되도록 기본 데이터형을 사용해야 한다.

프로그램을 작성하다 보면 변경되지 않는 고정 값인상수를 선언해야 하는 경우가 있다. 이때 상수의 의미를 쉽게 이해할 수 있게 한다는 목적으로 String 으로 선언하여 사용하는 경우가 있는데 이는 기본 데이터형을 사용하는 경우보다 비효율적이다. 왜냐하면 String 은 기본 데이터형과는 달리 내부적으로 복잡한 객체이기 때문이다.

아래는 각 지역을 표시하는 문자열 상수를 가진 인터페이스이다.

public interface Area {
    public staticfinal StringSEOUL= "SEOUL";
    public staticfinal StringPUSAN= "PUSAN";
    public staticfinal StringWONJU = "WONJU";
}
상수 이름으로 지역 이름을 파악할 수 있기 때문에 굳이 그 값을 문자열로 할 필요는 없다.

이 코드에서는 각 지역을 문자열로 표현하고 있다. 문자열을 비교할 경우에는 equals() 메소드를 사용해서 비교해야 하며 지역이 많아질 수록 많은 객체가 필요하다. 하지만 이 코드를 다음과 같이 기본 데이터형인 int 로 선언하면 객체를 사용하는 경우보다 좀 더 효율적인 코드가 된다.

public interface Area {
    public staticfinal intSEOUL= 0;
    public staticfinal intPUSAN= 1;
    public staticfinal intWONJU = 2;
}

이 코드는 각 지역을 모두 정수형으로 표현하고 있다. 첫 번째 방식과 마찬가지로 변수 이름으로 접근하여 사용할 수 있기 때문에 사용하는 입장에서는 첫 번째 방식과 다른 점이 없다. 단지 내부적으로 문자열이 아닌 숫자로 처리된다는 것만 다를 뿐이다. 그러나 이렇게 코드를 작성하면 문자열이 아닌 정수로 값을 표현하기 때문에 메모리를 절약할 수 있으며, 해당 지역을 equals() 메소드 대신 "==" 연산자를 사용해서 비교할 수 있어 좀 더 빠른 속도를 얻을 수 있다.

이 글은 무단전제나 무단배포가 금지된 글입니다. 공유하고자 한다면 제목과 링크만 공유하기 바랍니다.


로그인 창이 있는 "정보 수정"에서
서명 이쁘게 등록해보세요 ^^

glaxy 2014-02-06 (목) 10:16
6장이 첨부되였네요
댓글주소
jjinuri 2014-02-20 (목) 11:02
감사합니다 ^^
댓글주소
딩굴이 2014-06-12 (목) 09:52
감사합니다
댓글주소
꾸꾸링 2014-07-11 (금) 15:10
감사합니다.
댓글주소
YGFree 2014-08-08 (금) 14:12
잘 봤습니다~
댓글주소
     
     
안사 이쁜이 2014-08-08 (금) 14:12
축하드립니다. ;)
YGFree님은 안사 이쁜이에 당첨되어 6 포인트 지급되었습니다.
공개 2014-08-15 (금) 02:18
잘봤습니다
댓글주소
     
     
안사 이쁜이 2014-08-15 (금) 02:18
축하드립니다. ;)
공개님은 안사 이쁜이에 당첨되어 2 포인트 지급되었습니다.
필연 2015-03-04 (수) 14:28
감사합니다.
댓글주소
shadow2496 2015-03-11 (수) 17:12
감사합니다!!
댓글주소
공부좀 2015-06-26 (금) 00:41
감사합니다..
댓글주소
대학생예비창… 2015-07-01 (수) 10:30
잘봐ㅣㅆ어요
댓글주소
열공해야죠 2015-07-20 (월) 06:09
감사
댓글주소
devhyeok 2016-02-03 (수) 14:54
감사합니다
댓글주소
알지롤 2016-10-01 (토) 14:13
감사해요
댓글주소
indist 2016-10-03 (월) 01:59
알겠음
댓글주소
이전글  다음글  목록 글쓰기

총 게시물 25건, 최근 0 건 안내 RSS
번호 분류 제목 추천 조회
25 0.소개  0.1 머리말 37 29 10562
24 0.소개  0.2 목차 16 10 6991
23 1.기본 지식편  0장 기본 지식편 27 30 10667
22 1.기본 지식편  1장 객체지향 프로그래밍 33 25 14470
21 2.코드 지식편  1장 0. 변수, 데이터형 20 15 7661
20 2.코드 지식편  1장 1. 가장 빠른 변수는 지역 변수이다. 19 14 7926
19 2.코드 지식편  1장 2. 멤버 변수를 중복 초기화하지 않는다. 17 11 7805
18 2.코드 지식편  1장 3. 멤버 변수의 디폴트 값에 대해 알아야 한다. 17 7 8010
17 2.코드 지식편  1장 4. 블록 내에서 사용할 변수는 지역 변수로 선언해야 한다. 16 12 6982
16 2.코드 지식편  1장 5. 자동 변수를 사용할 때는 항상 초기값을 설정해야 한다. 19 10 7637
15 2.코드 지식편  1장 6. 상수는 되도록 기본 데이터형을 사용해야 한다. 16 11 7327
14 2.코드 지식편  1장 7. 상수는 사용시 주의해야 한다. 20 11 6894
13 2.코드 지식편  1장 8. 변수는 되도록 사용 시점에 선언해야 한다. 15 7 5749
12 2.코드 지식편  1장 9. 객체보다는 기본 데이터형을 사용해야 한다. 13 7 6013
11 1.기본 지식편  1장 객체지향 프로그래밍 체크 포인트 17 9 6327
10 1.기본 지식편  2장 소스 코드 구성 28 15 10577
9 1.기본 지식편  2장 소스 코드 구성 체크 포인트 8 8 5732
8 1.기본 지식편  3장 클래스 구성 22 10 10308
7 1.기본 지식편  3장 클래스 구성 체크 포인트 6 4 5475
6 1.기본 지식편  4장 제한자 11 6 7533
5 1.기본 지식편  4장 제한자 체크 포인트 4 3 5114
4 1.기본 지식편  5장 연산자 11 7 10038
3 1.기본 지식편  5장 연산자 체크 포인트 4 5 5864
2 0.소개  스피드 자바의 오프라인 서적의 평. 11 8 6668
 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기