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

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

글쓴이 : 카이로 날짜 : 2014-02-06 (목) 10:12 조회 : 7639
글주소 : http://www.androidside.com/430/91
 
  대구홈페이지제작전문 대구웹
디자인제작전문가의 경험,기획,성실함으로 고민해결! 맞춤제작, 합리적가격,쇼핑몰제작
daeguweb.co.kr
  깔끔한 홈페이지제작 루이스틱
세상에 이런 깔끔함이! 반응형 홈페이지 제작/모바일 반응형 홈페이지/쇼핑몰 제작
ruistic.com
  웹에이전시 하이에버
홈페이지 제작, 쇼핑몰 제작, WEB/APP 개발, 브랜드 마케팅, 맞춤 유지관리
www.hiever.co.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 11047
24 0.소개  0.2 목차 16 10 7282
23 1.기본 지식편  0장 기본 지식편 27 30 11081
22 1.기본 지식편  1장 객체지향 프로그래밍 33 25 15107
21 2.코드 지식편  1장 0. 변수, 데이터형 20 15 7987
20 2.코드 지식편  1장 1. 가장 빠른 변수는 지역 변수이다. 19 14 8252
19 2.코드 지식편  1장 2. 멤버 변수를 중복 초기화하지 않는다. 17 11 8185
18 2.코드 지식편  1장 3. 멤버 변수의 디폴트 값에 대해 알아야 한다. 17 7 8341
17 2.코드 지식편  1장 4. 블록 내에서 사용할 변수는 지역 변수로 선언해야 한다. 16 12 7352
16 2.코드 지식편  1장 5. 자동 변수를 사용할 때는 항상 초기값을 설정해야 한다. 19 10 7956
15 2.코드 지식편  1장 6. 상수는 되도록 기본 데이터형을 사용해야 한다. 16 11 7640
14 2.코드 지식편  1장 7. 상수는 사용시 주의해야 한다. 20 11 7194
13 2.코드 지식편  1장 8. 변수는 되도록 사용 시점에 선언해야 한다. 15 7 6085
12 2.코드 지식편  1장 9. 객체보다는 기본 데이터형을 사용해야 한다. 13 7 6314
11 1.기본 지식편  1장 객체지향 프로그래밍 체크 포인트 17 9 6625
10 1.기본 지식편  2장 소스 코드 구성 28 15 11086
9 1.기본 지식편  2장 소스 코드 구성 체크 포인트 8 8 6011
8 1.기본 지식편  3장 클래스 구성 22 10 10827
7 1.기본 지식편  3장 클래스 구성 체크 포인트 6 4 5746
6 1.기본 지식편  4장 제한자 11 6 7869
5 1.기본 지식편  4장 제한자 체크 포인트 4 3 5364
4 1.기본 지식편  5장 연산자 11 7 10394
3 1.기본 지식편  5장 연산자 체크 포인트 4 5 6124
2 0.소개  스피드 자바의 오프라인 서적의 평. 11 8 6962
 


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