일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 추상메서드
- 자동차수리시스템
- 한국건설관리시스템
- 제네릭
- 자바
- 환경설정
- 컬렉션 타입
- exception
- 컬렉션프레임워크
- 예외미루기
- 참조형변수
- cursor문
- 정수형타입
- 다형성
- 메소드오버로딩
- oracle
- 집합_SET
- 예외처리
- EnhancedFor
- 사용자예외클래스생성
- NestedFor
- abstract
- Java
- GRANT VIEW
- 객체 비교
- 생성자오버로드
- 인터페이스
- 대덕인재개발원
- 어윈 사용법
- 오라클
- Today
- Total
목록대덕인재개발원_Java (25)
거니의 velog
[멤버 필드] - 특정 객체를 특정지을 수 있는 속성들. - 사람이라면 이름, 나이, 성별 등등 - 변수와 상수(final 제한자)가 포함되어 진다. 지역 변수는 반드시 초기화 해야 하나, 멤버 변수는 초기화가 필요 없다. 생성자로 처리. 정적 멤버는 오직 메소드 영역에 한 번만 실행. 초기화도 한 번 실행. 객체 생성과 전혀 무관하게 생성되거나 초기화되지 않는다. 객체가 공통으로 사용해야 할 메소드나 기억 공간으로 활용 가능. 정적 초기화 블록도 있다. static { } 정적 멤버를 초기화할 때 사용. 정적 메소드 안에서 this 사용 불가. this 는 객체가 인스턴스화 되어 힙 메모리 저장되는데, static은 클래스 실행 전에 이미 메소드 영역에 생성되므로 주소를 참조할 수 없다. 일반 변수나 ..
접근지정자 제한자 반환타입 메서드명([매개변수 list]) { 메서드 본체 } [제한자] (1) abstract : 몸통이 없는 메소드. { } 가 없는 미완성 메소드. 이를 포함하는 클래스도 추상 클래스가 되어야 한다. 아직 완성된 객체가 아니라 인스턴스화가 불가능하다. (2) static : main(), Math.random(), System.out.println() 등의 메서드는 과거 시점에서 로딩될 때 만들어짐. 객체 생성되기 전부터 호출할 수 있어야 하기 때문이다. - static 이 붙은 메서드는 클래스명.메소드명(); 으로 불러야 한다. 클래스 객체가 생성이 되지 않아도 얼마든지 접근 가능. 이를 이용한 것이 싱글톤 패턴. (3) final : 재정의 금지. @Override 금지. ret..
객체가 생성될 때 반드시 호출되어야 할 생성자. 멤버 필드를 초기화하기 위함. C#, C++는 생성자와 소멸자(틸드) 다 있다. 생성자는 초기화하는데, 실행되면 힙 메모리에 공간을 배정받고 맨 처음 데이터를 집어 넣는다. 생성자까지 실행되면 객체 주소가 하나 생성된다. 소멸자는 이 만들어진 주소는 구성하는 프로그램에서 사용하는 공간. 다른 프로그램에서는 참조 불가. 내가 점유하므로. 소멸자는 내가 프로그램 사용이 끝나면 다른 프로그램이 그 공간을 사용하게 하기 위해 주기억 장치의 메모리 공간을 운영체제에게 사용권한을 반납. 자바는 이 소멸자가 없느냐? 아니다. 운영체제에서 운영하는 기억장소 프로세스 중 하나가 가비지 콜렉터. 여기저기 흩어진 자투리 영역을 회수해서 운영체제에 반납. 쓰고 더 이상 사용되지..
상수 이름에만 snake case를 사용하고, 나머지는 camel case를 사용한다. (1) 라이브러리 클래스 : 객체 생성 및 메소드 제공 역할 (2) 실행 클래스 : main() 메소드 제공 역할 [Product.java] package ddit.chap06.sec02; public class Product { private static int pid; // 제품번호 private static String pName = "마커펜"; // 제품명 Product() { // 생성자 메서드. 멤버 필드 초기화. pid++; pName = "마커펜"; } public static void showProduct() { System.out.println("제품번호 : " + (++pid)); System.ou..
[ArrayConversionEx.java] package ddit.chap05.sec07; import java.util.Random; public class ArrayConversionEx { public static void main(String[] args) { ArrayConversion ac = new ArrayConversion(); ac.histogram(); ac.conversion(); ac.printHisto(); } } class ArrayConversion { private int[] dice = new int[6]; private Random random = new Random(); private char[][] histo; public ArrayConversion() { for..
[Triangle.java] package ddit.chap05.sec04; public class Triangle { // 객체 배열 // 배열의 시작 주소를 p가 가지게 함. private Point[] p; // 배열만 선언. 객체는 아직 생성되지 않음. // 배열 안에 3개의 Point 객체 주소를 포함시킴. // 이중 포인터 구조. Triangle(Point[] p) { this.p = new Point[] {new Point(100, 100), new Point(500, 100), new Point(250, 250)}; } public void draw() { System.out.println(p[0] + "과 " + p[1] + "을(를) 연결합니다."); System.out.println(..
[Selection Sort : n개로 구성된 배열] (1) 자료의 수가 n개일 때 n-1 회전 수행 (2) 각 회전에서 가장 왼쪽의 자료와 나머지 모든 자료를 비교. (3) 각 회전 수행 후, 왼쪽의 기준자료를 하나씩 비교대상에서 제외. [50, 37, 69, 7, 42] 1회전 : 7
[배열] (1) 선언 => 타입명[ ] 배열명; - 배열선언타입 대로만 배열요소로 값을 입력받을 수 있다. int[] score; - 배열요소 => 배열명[인덱스], “일반변수”이다. score[0] = 100; 값 배정 가능. (2) 생성 => 타입명[] 배열명 = new 타입명[크기]; - 힙 메모리에 크기만큼의 공간을 생성하고 호출 스택 메모리에 배열명을 가리킴(주소값을 전달). - int[] score = new int[10]; => 40 바이트 확보, 인덱스 0~9 배정. - length. 배열 요소의 개수. (3) 초기화 => 배열에 기본값 세팅해 주는 것. - 배열요소 = 값; score[0] = 10; score[1] = 50; score[2] = 70; .... - 반복문 사용. 규칙적으..
[ForExample01.java] package ddit.chap04.sec02; public class ForExample01 { public static void main(String[] args) { //forMethods01(); //forMethods02(); //forMethods03(); forMethods04(); } public static void forMethods01() { // 반복문 3가지의 수단, 목적이 다름. // 1. for : 반복 횟수를 정확하게 알고 있거나, 반복 횟수가 중요한 요소가 될 경우. // 제어변수(지역변수)를 이용해서 그 값을 판단해 반복을 할 것인지 말 것인지를 판단. // 1부터 10 사이의 수를 한 칸 공백을 두고 붙여서 출력하세요. for(int ..
[IfStatementExample02.java] package ddit.chap04.sec01; import java.util.Scanner; public class IfStatementExample02 { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { //methods1(); methods2(); } public static void methods1() { // 키보드로 숫자 하나(1~10)를 입력받고, // 컴퓨터에서 난수(1~10)를 입력받아 두 수를 비교하여 // 같은 값이면 "정답입니다"를 출력하시오. System.out.print("숫자 입력 (1~10) : "); int userNum ..