본문 바로가기

분류 전체보기133

[JAVA] 자바 정리노트(3) [JAVA] 자바 정리노트(3) 1. 모든 클래스는 하나 이상의 생성자가 꼭 정의되어야 한다. 생성자를 정의하지 않을 경우 컴파일러가 기본 생성자를 제공한다. 2. 상속과 포함관계의 구분은 A는 B이다(상속), A는 B를 갖고 있다(포함)으로 구별할 수 있다. 3. 한 소스파일에는 단 한번의 패키지 선언만을 허용한다. 4. 변수의 초기화 단계는 "기본값->명시적초기화->초기화블럭->생성자(생성자는 인스턴스 변수 초기화에만 해당" 순이다. (http://markim94.tistory.com/138 자세한 초기화 단계의 내용은 게시물 참고) 5. 하나의 소스파일에는 public클래스가 하나만 존재해야 하며 소스이름은 public 클래스 이름과 반드시 같아야 한다. 6. 생성자의 접근제어자를 사용하여 인스턴스.. 2018. 12. 19.
[JAVA] 변수의 초기화 순서(초기화블럭) [JAVA] 변수의 초기화 순서 예제(초기화블럭) @변수의 초기화 시점 - 변수는 클래스 변수와 인스턴스 변수로 나눠진다. (http://markim94.tistory.com/136 게시물의 2번내용 참고) - 클래스 변수는 클래스가 처음 로딩될 때 한번만 초기화된다. - 반면에 인스턴스 변수는 인스턴스가 생성될 때마다 인스턴스별로 초기화가 이뤄진다. @예제class Car{ int instanceVariable = 1; // 인스턴스 변수 static int staticVariable =1 ; // 클래스 변수(static, 공유) // 인스턴스 초기화 블럭 { instanceVariable = 2; } // 클래스 초기화 블럭, 앞에 static이 붙음. static{ staticVariable = .. 2018. 12. 18.
[JAVA] 객체지향개념(오버로딩과 오버라이딩) 객체지향개념(overloading, overriding) +중복과 재정의 #오버로딩(overloading) @사전적의미 - overloading = over하여 loading하다. "많이 싣다"의 의미. - 단일의 메소드 이름을 갖고 여러 기능을 구현한다는 점에서 많이 싣다라고 이해하면 쉬움. - 여러 기능을 구현한다는 점에서 "중복"이라고 일컫기도 함. @오버로딩을 하기 위해서는 - 메소드의 이름이 같아야 함. - 메소드의 매개변수 타입과 갯수가 달라야 함. @예제int add(int a, int b) { return a+b; } // int형 매개변수 타입 float add(float a, float b) { return a+b; } // float형 매개변수 타입 // 두 매개변수의 타입이 다르므로.. 2018. 12. 18.
[JAVA] 자바 정리노트(2) [JAVA] 자바 정리노트(2) 1. 인스턴스를 생성할때에 참조변수 타입과 인스턴스 타입이 일치해야 한다. 다만, 참조변수 타입이 서로 상속관계에 있을 경우 조상 클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조하는 것이 가능하다. 이 경우 참조변수 타입에 따라 사용 가능한 멤버 개수가 달라짐.Car c = new Car(); // 서로 타입이 일치한 경우 class Car{ boolean opener; boolean power; void power() { power = !power; } } class OpenCar extends Car{ // Car 클래스를 상속한 OpenCar 클래스 void opener() { opener = !opener; } } Car c = new OpenCar(); /.. 2018. 12. 17.
[JAVA] 자바 정리노트(1) [JAVA] 자바 정리노트(1) 1. 논리형(boolean) 타입에서 true와 TRUE는 다르다. 대소문자를 구별하기 때문이다. 2. 반복문에 이름을 붙여줄 수 있다. 이를 이용해 break문을 사용시 중첩된 반복문에서 벗어나거나, 반복을 건너뛸 수 있다. 참고 링크: http://markim94.tistory.com/134 3. println(arrName) 메소드로 출력하면 배열의 주소값이 출력된다. 이유인즉 arrName은 배열이 실제로 저장되어있는 주소값을 담는 참조변수이기 때문이다. 3. 예외적으로 char배열만 println() 메소드로 출력된다. 다만 구분자 없이 출력된다. 4. 배열의 복사는 arraycopy() 메소드를 이용하면 간단하다. System.arraycopy(arr, 0, n.. 2018. 12. 17.
[JAVA] 중첩반복문 이름붙여서 벗어나기 이름 붙은 반복문, break문과 continue문으로 벗어나기 반복문이 등장했을 때 break문으로 벗어날 수 있다. continue문을 이용하여 다음 반복으로 이어나갈 수도 있다. 그러나 무한반복문이나 복잡한 중첩반복문이 등장했을 때 손쉽게 벗어날 수 있는 루트를 설정할 수 있다. 바로, 반복문에 이름을 붙이는 것이다. 방법은 아래와 같다. 위 코드에서 for문 앞에 'Loop1 :' 을 통해 이름을 붙였음을 확인할 수 있다.그리고 'break;'가 아닌 'break Loop1;'으로 코딩되어 있다. 일반적인 break문이 실행되었다면 두 번째 for문에서 벗어났을 것이다.그러나 이름을 붙여 break를 사용했으므로 첫 번째 for문에서 벗어나 2번 문장이 출력됨을 확인할 수 있다. continue문.. 2018. 12. 16.
반응형