JAVA 65

[자바의 정석 - 기초편] 6. (8) 생성자 / 생성자 규칙 / 기본 생성자 / 매개변수가 있는 생성자

생성자 (constuctor) 인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드' 인스턴스 생성시 수행할 작업 (iv 초기화) 에 사용 생성자 규칙 - 이름이 클래스 이름과 같아야 함 - 리턴값이 없음 ( void 안붙임) - 모든 클래스는 반드시 생성자를 가져야 함 ex) Card c = new Card(); ← 기본 생성자 호출 기본 생성자 (default constructor) 매개변수가 없는 생성자 생성자가 하나도 없을 때만 컴파일러가 자동으로 추가 클래스 이름 () { } // 기본 생성자 Data_1 의 경우 : 생성자 0개 ➔ 컴파일러가 기본 생성자를 자동으로 추가함 Data_2 의 경우 : 생성자 1개 ➔ 기본 생성자를 수동으로 추가해야 함 매개변수가 있는 생성자

[자바의 정석 - 기초편] 6. (7) 오버로딩

오버로딩 (overloading) 한 클래스 안에 같은 이름의 메서드를 여러개 정의하는 것 성립 조건 1. 메서드 이름이 같아야 함 2. 매개변수 개수 또는 타입이 달라야 함 3. 반환 타입은 영향 X ➔ 매개변수는 다르지만 같은 의미의 기능 수행 결과가 만들어지고 나서 println이 호출되기 때문에 결과값을 얻기 위해 메서드부터 실행!

[자바의 정석 - 기초편] 6. (6) static 메서드 / 인스턴스 메서드

인스턴스 메서드 인스턴스 생성 후, ' 참조변수.메서드 이름() ' 으로 호출 인스턴스 멤버 (iv, im)와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수 (iv) 사용 가능 staitc 메서드 (클래스 메서드) 객체 생성없이 ' 클래스 이름.메서드이름() ' 으로 호출 인스턴스 멤버와 관련없는 작업을 하는 메서드 메서드 내에서 인스턴스 변수 (iv) 사용 불가 ➔ iv 사용 여부로 인스턴스 메서드인지 static 메서드인지 갈림 인스턴스 메서드 : 인스턴스 변수 (iv) 사용 static 메서드 : 지역 변수 (lv) 사용 인스턴스 메서드 : 1. 객체 생성 2. 참조변수 세팅 3. "참조변수.메서드 이름()" 으로 호출 static 메서드 ..

[자바의 정석 - 기초편] 6. (5) 호출 스택 / 기본형 매개변수 / 참조형 매개변수 / 참조형 반환타입

호출 스택 (call stack) 스택 (stack) 밑이 막힌 상자. 위에 차곡차곡 쌓인다 호출 스택 메서드 수행에 필요한 메모리가 제공되는 공간 - 메서드가 호출되면 호출 스택에 메모리 할당, 종료되면 해제 - 맨 위의 메서드 하나만 실행중, 나머지는 대기중 기본형 매개변수 변수의 값을 읽기만 가능 ( read only ) 참조형 매개변수 변수의 값을 읽고 변경 가능 ( read & write ) 참조형 반환타입 객체의 주소를 반환 tmp의 주소 값이 반환되어서 참조변수 d2에 주소값 대입

[자바의 정석 - 기초편] 6. (4) 메서드 ( 호출 / 실행 흐름 / return문 )

메서드 메서드 = 선언부 + 구현부 문장들을 묶어놓은 것 (작업 단위로) 값(입력)을 받아서 처리하고 결과를 반환(출력) 메서드의 장점 - 코드의 중복 제거 - 코드의 관리 용이 - 코드 재사용 가능 - 코드가 간결해서 이해하기 쉬워짐 메서드의 작성 - 반복적으로 수행되는 여러 문장을 메서드로 작성 - 하나의 메서드는 한 가지 기능만 수행하도록 작성 - 클래스 영역에만 정의 가능 메서드의 호출 메서드 이름(값 1, 값 2, ....); // 메서드를 호출하는 방법 print99danAll(); // void print99danAll()을 호출 (void : 출력 X ➔ 저장할 변수 필요 X) int result = add(3, 5); // int add(int x, int y)를 호출하고, 결과를 res..

[자바의 정석 - 기초편] 6. (3) 클래스 ( 정의 / 선언위치에 따른 변수 종류 / 클래스 변수 / 인스턴스 변수 / 지역 변수 )

클래스 1. 설계도 2. 데이터 + 함수 - 변수 : 하나의 데이터를 저장할 수 있는 공간 - 배열 : 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간 - 구조체 : 서로 관련된 여러 데이터 (종류 관계 X)를 하나로 저장할 수 있는 공간 - 클래스 : 데이터와 함수의 결합 (구조체 + 함수) 3. 사용자 정의 타입 : 원하는 타입을 직접 만들 수 있음 class Time { int hour; int minutes; int second; } Time t = new Time; 선언위치에 따른 변수의 종류 : 인스턴스 변수 (iv) / 클래스 변수 (cv) - 선언문만 가능 (변수, 메서드) - 순서 상관 X * 객체 = iv를 묶어놓은 것 : 지역 변수 (lv..

[자바의 정석 - 기초편] 6. (2) 객체 ( 생성 / 사용 / 배열 )

객체의 생성 클래스명 변수명 ; // 클래스의 객체를 참조하기 위한 참조변수를 선언 변수명 = new 클래스명(); // 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장 Tv t; // Tv 클래스 타입을 참조하기 위한 변수 t를 선언 t = new Tv(); // Tv 인스턴스를 생성한 후, 생성된 Tv 인스턴스의 주소를 t에 저장 Tv t = new Tv() // 위의 두 줄을 한 줄로 하면 이렇게 작성됨 객체의 사용 순서 1. 클래스 생성 2. 객체 생성 3. 객체 사용 t.channel = 7; // Tv 인스턴스의 멤버변수 channel 의 값 = 7 (변수 사용) t.channelDown(); // Tv 인스턴스 메서드 channelDown()을 호출 (메서드 사용) System.ou..

[자바의 정석 - 기초편] 6. (1) 객체지향 언어 ( 클래스 / 객체 / 인스턴스 )

객체지향 언어 (Objective Oriented Programming) : 프로그래밍 언어 + 객체지향 개념 (규칙) 코드 재사용성 높음 / 유지보수 용이 / 중복코드 제거 1. 캡슐화 2. 상속 3. 추상화 4. 다형성 ★ 클래스 클래스의 정의 : 객체를 정의해 놓은 것 클래스의 용도 : 객체를 생성하는데 사용 객체 객체의 정의 : 실제로 존재하는 것 . 사물 또는 개념 객체의 용도 : 객체가 가지고있는 기능과 속성에 따라 다름 객체 = 속성 (변수) + 기능 (메서드) 인스턴스 : 특정 클래스로부터 생성된 객체 ex) Tv 인스턴스 (Tv 클래스로부터 만들어진 객체) * 객체 : 모든 인스턴스를 대표하는 일반적인 용어 Quize 1. ) 클래스가 왜 필요한가? ➔ 객체를 생성하기 위해 Quize 2..

[자바의 정석 - 기초편] 5. (4) 2차원 배열 ( 인덱스 / 초기화 / Arrays로 배열 다루기 )

2차원 배열 테이블 형태의 데이터를 저장하기 위한 배열 2차원 배열의 인덱스 int [ ][ ] score = new int [4][3] ; // 4행 3열의 저장공간 12개 생성 score [0][0] = 100 ; // 0행 0열에 100 저장 System.out.println(score [0][0]) ; 2차원 배열의 초기화 int [][] arr = { {1,2,3}, {4,5,6} } ; Quize 1. ) 배열의 모든 수 더하기 * 참고 사진 Quize 2. ) 과목별 총점 구하기 Quize 3. ) 단어 뜻 맞히기 Arrays로 배열 다루기 1. 배열 비교 - equals() / deepEquals() String [][] str2D = { {"aaa", "bbb"}, {"AAA", "BBB..

[자바의 정석 - 기초편] 5. (3) String 배열 / String 클래스 / 커맨드 라인 입력

자료형 기본값 boolean false char '\u0000' byte / short / int 0 long 0L float 0.0f double 0.0d 또는 0.0 참조형 null String 배열 1. 하나씩 넣는 방법 String [ ] name = new name[3]; // 3개의 문자열을 담을 수 있는 배열 생성 name [0] = "Kim" ; name [1] = "Park" ; name [2] = "Lee" ; 2. 한번에 넣는 방법 String [ ] name = { "Kim", "Park", "Lee" }; Quize 1. ) 가위 / 바위 / 보 중에서 랜덤으로 출력하기 String 클래스 - String 클래스 = char [ ] + 메서드 (기능) - 내용 변경 X (only ..