programming(181)
-
변수의 초기화
변수를 선언하고 처음으로 값을 저장하는 것을 "변수의 초기화"라고 한다. 변수의 초기화는 경우에 따라서 필수적이기도 하고 선택적이기도 하지만, 가능하면 선언과 동시에 적절한 값으로 초기화 하는 것이 바람직하다. 멤버변수는 초기화를 하지 않아도 자동적으로 변수의 자료형에 맞는 기본값으로 초기화가 이루어지므로 초기화를 하지 않고 사용해도 되지만 지역변수는 사용하기 전에 반드시 초기화를 해야 한다. class InitTest { int x; int y = x; void method1 { int i; int j = i; // 컴파일 에러발생 : 지역변수를 초기화하지 않고 사용했음. } } 위의 코드에서 x, y는 멤버변수이고, i, j는 지역변수이다. 그 중 x와 i는 선언만 하고 초기화를 하지 않았다. 그리고..
2010.03.25 -
오버플로우(Overflow)
overflow 는 '강물이 범람하다' 또는 '물이 흘러 넘치다' 라는 사전적 의미를 가지고 있습니다. 이것을 프로그래밍 언어에 적용해보면, 모든 언어에서는 데이터를 임시로 저장해 둘 수 있는 '변수'라는 것을 사용합니다. 변수를 100 리터 짜리 물통에 비유를 한다면, 이 물통에 100 리터 이상의 물을 담았을때 발생하는 현상이 바로 overflow입니다. 100리터 까지만 물통에 남아있고, 그 이상은 넘쳐 흐르겠지요... 100바이트를 저장할 수 있는 변수에 110바이트의 데이터를 저장하려 했다고 한다면,, 컴퓨터(컴파일러)는 당연히 경고메시지를 보여주거나 이를 무시하고 100바이트의 데이터만 저장합니다. 나머지 10바이트가 굉장히 중요한 데이터라면, 또는 10바이트가 떨어져 나간 100바이트의 데이..
2010.03.25 -
class 앞에 public < 접근제한자 >
class 앞에 붙은 것을 한정자라고 합니다. public, final, abstract 가 붙을 수 있습니다. 생략할 경우 같은 패키지내의 클래스만 접근이 가능합니다. 만일 java.lang.Integer 라는 객체가 public이 생략되어 있었다면 java.lang 패키지가 아닌 경우 Integer 객체를 사용할 수 없다는 말입니다. public은 모든 클래스에서 불러다 쓸 수 있게 하고, final 클래스는 서브클래스를 가질 수 없습니다. abstract는 추상클래스 만들 때 씁니다. 그리고 한 파일에 여러 클래스를 선언할 경우 public 클래스는 하나만 있어야 됩니다. 또한, main 메서드가 있는 클래스는 무조건 public이 되어야 하지만 여기에서는 예외로 public을 생략할 경우 publ..
2010.03.25 -
리터럴(literal) 이란?
상수란 값을 가지는 변수이나 그 값을 바꿀 수 없는 변수입니다. 즉, 한번 메모리에 변수를 지정하고 그 변수에 값을 초기화하고 난 그 이후에는 값을 바꿀 수 없는 변수를 상수라고 일컫습니다. 다음과 같은 경우, PI가 상수가 되겠죠. const float PI=3.14f; // C public static final float PI=3.14f; // Java 반면 리터럴은 이러한 변수 및 상수에 저장되는 값 자체를 일컫습니다. 정수 리터럴, 실수 리터럴, 문자열 리터럴 이런 것들이 프로그래밍 언어의 한 요소로서 리터럴이라고 불리는 겁니다. 정수 리터럴 ---> 10, 1, 1000 등등 실수 리터럴 ---> 10.1, 10e3 등등 문자열 리터럴 ---> "System" "Exit" 등등 쉽게 얘기하면 ..
2010.03.24 -
1. 상품 목록을 저장하고 합계 출력하기 – ArrayList 사용
§ 상품 목록 처리는 Product 클래스로 나타낸다 § ArrayList를 사용하여 추가 할 것 § 객체 생성 후 setter method를 이용하여 필드값을 초기화 할 것 § Product 는 다음과 같이 구성된다 § 필드 : 상품이름(String), 단가(int), 개수(int), 구매금액(int : 단가 * 갯수) §필드 접근 제어자는 private § 메소드 :필드 값을 반환(getter)하고 설정(setter) § 결과 화면
2010.03.24 -
반복자(iterator)
u반복자(iterator): 반복자는 컬렉션의 원소들을 하나씩 처리하는데 사용 import java.util.*; public class LinkedListTest { public static void main(String args[]) { LinkedList list = new LinkedList(); list.add("MILK"); list.add("BREAD"); list.add("BUTTER"); list.add(1, "APPLE"); // 인덱스 1에 “APPLE"을 삽입 list.set(2, "GRAPE"); // 인덱스 2의 원소를 “GRAPE"로 대체 list.remove(3); // 인덱스 3의 원소를 삭제한다. Iterator e=list.iterator(); //제네릭 타입을 지정하지..
2010.03.24