본문 바로가기

분류 전체보기502

[Java] chap6: 클래스와 객체 - 초기화 블럭 초기화 블럭 초기화 블럭 static 초기화 블럭 - 클래스 변수의 초기화 - 클래스 정보가 로드될때 한번 실행 인스턴스 초기화 블럭 - 인스턴스 변수의 초기화. 생성자와 기능이 겹치기 때문에 잘 사용되지는 않음 - 객체 생성시 생성자 호출 전에 먼저 호출 됨. 📌 package chap6; //호출되는 순서 자세히 보기 public class InitEx1 { static int cv; // 클래스 변수 int iv; // 인스턴스 변수 InitEx1(){ // 생산자(클래스 이름과 동일) System.out.println("5. 생성자 호출됨"); } static { //static 초기화 블럭 2023. 4. 15.
[Java] chap6: 클래스와 객체 - This 예약어, This 예약어 Exam6 This 예약어 ===this 예약어=== this() 생성자 : 같은 클래스내에 다른 생성자 호출시 사용 호출하는 생성자에 첫번쨰 줄에 구현해야함 this 참조변수 : 자기참조 변수. 자신의 객체를 참조하는 참조값을 저장하는 변수 클래스멤버에서 사용불가.(예시 - static에서 사용불가) 인스턴스메서드에 지역변수로 자동 설정됨. 지역변수와 멤버변수의 구분시 사용됨. this.인스턴스멤버명 📌 package chap6; class Car2{ String color; //멤버변수 int number; //멤버변수 Car2(String color,int number){ //지역변수 System.out.println("(String,int) 생성자"); this.color = color; //멤버 변수와 지.. 2023. 4. 15.
[Java] chap6 : 클래스와 객체 - 생성자 Exam 4-5 📌 생성자 Exam4 package chap6; /* * 구동 클래스가 정상적으로 실행 되도록 Animal3 클래스 구현하기 * Animal3 클레스의 멤버 * 멤버 변수 : name,age * 멤버 메서드 : toString() */ class Animal3{ String name; int age; Animal3(String i, int j){ //생성자 name = i; age = j; } publicString toString() { return name+":"+age; } } public class Exam4 { public static void main(String[] args) { Animal3 a = new Animal3("원숭이",20); System.out.println(a); //원숭이.. 2023. 4. 15.
[Java] chap6 : 클래스와 객체 - 생성자, 생성자 오버로딩 생성자 생성자 예제 생성자란 : 1. 객체화시 호출되는 메서드.(객체 생성에 관여하는 메서드) 2. 생성자 없는 객체 생성은 불가함. => 객체 생성시 생성자의 매개변수에 맞도록 호출해야함. 3. 기능은 인스턴스 변수의 초기화 함. 4. 인스턴스 멤버이다. 5. 오버로딩이 가을함. => 하나의 클래스에 여러개의 생성자가 가능함. 생성자 구현 1. 생성자의 이름은 클래스 명과 같다. 2. 리턴타입을 구현하지 않는다. void가 아니고 기술 하지 않는다. 3. 생성자 오버로딩이 가능하다. 기본 생성자 1. 클래스 내부에 생성자가 구현되어 있지 않으면 컴파일러가 대신 추가해주는 생성자 2. public 클래스명() {} 형태로 생성됨. 📌 package chap6; class Number1{ //기본 생성자 .. 2023. 4. 15.
[Java] chap6 : 클래스와 객체 - 오버로딩, 오버로딩 메서드의 선택기준,오버로딩조건 오버로딩(Overloading) 오버로딩 예제 - 같은 클래스에 이름이 같은 메서드가 여러개 존재 할 수 있다. 단 매개변수 목록이 달라야 한다.(자료형기준. 자료형[es:int,double,...],갯수, 순서) => 매개변수 이름이 아니고 자료형으로 판단함. - 메서드의 다형성. 📌 package chap6; class Math3{ int a = 100; int add(int b) { System.out.println("1: "); return a+b; } double add(double b) { System.out.println("2: "); return a+b; } String add(String b) { System.out.println("3: "); return a+b; } } public c.. 2023. 4. 15.
[Java] chap6: 클래스와 객체 - 클래스와 인스턴스의 호출, 매개변수의 자료형 클래스와 인스턴스의 호출 클래스 속성 - 멤버 변수 - 클래스 변수 : staitc - 인스턴스 변수 기능 - 멤버 메서드 - 클래스 메서드 : static - 인스턴스 메서드 사용준비 완료 : 변수 : 저장공간 할당 메서드 : 호출 가능 상태 클래스 멤버(static) : 클래스 정보 로드시 사용 준비 완료. 클래스명.멤버명 인스턴스 멤버 : 객체화시 사용준비 완료. 참조변수명.멤버명 클래스 멤버에서 인스턴스 멤버 호출 시 직접 호출 불가능. 객체화가 필요함. 📌 package chap6; public class MemberCallEx1 { static int cv1 = 10; // 클래스 멤버 static int cv2 = cv1; // 클래스 멤버간 호출. int iv1 = 100; // 인스턴스 .. 2023. 4. 15.
[Java] chap6 : 클래스와 객체 - Stack영역과 재귀함수 재귀메서드 stack 영역 예제. 재귀메서드 : 자신의 메서드를 호출하는 메서드 스택영역이 있으므로 가능함. 📌 package chap6; public class FactorialEx1 { public static void main(String[] args) { //클래스 멤버 System.out.println("4!="+factorial(4)); //4*3*2*1 } private static int factorial(int i) { return (i==1)?1:i*factorial(i-1); } } 2023. 4. 15.
[Java] chap6 : 클래스와 객체 - 클래스 구현 📌 package chap6; /* Car2 클래스 구현 멤버 변수 : color, number, width, height, sno, cnt 구동 클래스 자동차 5개 생성 자동차 색상 : 빨강, 노랑, 파랑, 초록, 검정 중 한개를 임의의 설정 자동차 번호 : 임의의 4자리수로 설정하기 생산 번호 : 순차적으로 번호 지정 자동차 생산 건수 : cnt로 지정 */ class Car2 { String color; int number; static itn width = 200; static int height = 120; int sno; static int cnt; public String toString() { return color + ", " + number + "(" + width + ", " + he.. 2023. 4. 15.