Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 인플레이션
- 배당성장
- 기업분석
- FCF
- StringBuffer
- 접근제어자
- etf
- javascript
- 현금흐름표
- 무디스
- mco
- 알고리즘
- 백준
- 잉여현금흐름
- XLF
- 자바
- 금리인상
- 금리인하
- object
- 미국주식
- 프로그래머스
- 객체지향
- 주린이
- 다형성
- 제태크
- Java
- 오버라이딩
- S&P500
- 주식
- 그리디 알고리즘
Archives
- Today
- Total
오늘의하루
[JAVA 복습] 객체지향, 배열, 연산 본문
반응형
지금까지 공부한 JAVA 복습 코드입니다.
import java.util.*;
public class MyClass {
public static void main(String args[]) {
System.out.println("test => class value = " + test.zz); // static 변수는 인스턴스 생성 없이 사용 가능
test2 a = new test2(1,2,3,4); // test2 인스턴스 생성 후 (1,2,3,4)로 초기화 하고 그 주소를 참조 변수 a에 저장
System.out.println("x = "+a.x);
System.out.println("y = "+a.y);
System.out.println("z = "+a.z);
System.out.println("qq = "+a.qq);
System.out.println(a.getAll());
a.getAll2();
a.getAll2(a.x);
int result = a.addd(1,2,3);
System.out.println("test => static method use = "+result);
a.aaagg();
func2(a.x);
test2 cc = func(a); // (예: 주소 0X900)
// 인스턴스를 생성하지 않았지만 주소값으로 생성되있는 인스턴스를 가르킨다.
System.out.println("a.x = "+a.x);
System.out.println("cc.x = "+cc.x);
System.out.println("test0 class에서 만든 배열 0번째 값 = " + test0.newarr[0]);
System.out.println("String 비교 equals 사용한 결과 = " + a.pppee());
System.out.println("test0에서 만든 배열의 형태를 보여주세요 = "+ a.getarr());
// ================================================================
// Scanner 사용해서 숫자 입력받기
// System.out.printf("원하는 숫자를 입력해주세요. ");
// Scanner scanner = new Scanner(System.in);
// int xx = scanner.nextInt();
// int resultss = 0;
// for(int i = 1; i <= xx; i++){
// resultss = resultss + i;
// }
// System.out.println("작성 하신 숫자의 팩토리는 " + resultss);
// ================================================================
over h = new over();
h.adder(1,'A');
h.pick('a');
h.pick2('a');
h.adder(1, 1L);
h.adder(1, 4.4);
}
static test2 func(test2 a){ // 참조형 매개변수
test2 newtest = new test2(); // test2 인스턴스 생성 (예: 주소 0X900)
newtest.x = a.x; // a.x값을 newtest.x값에 대입하여 초기화 한다.
return newtest; // newtest 주소값을 반환한다. (예: 주소 0X900)
}
static void func2(int x){ // 기본형 매개변수
test2 newtest2 = new test2();
newtest2.x = 100000;
System.out.println("newtest2.x = " + newtest2.x);
}
}
class over{ // 오버로딩 및 형변환
// 크기가 큰 타입으로 변환된다.
// int 밑에는 int 타입으로 변환된다.
int adder(int a, int b) {
System.out.println("int adder(int a, int b) = " + a+b);
return a+b;
}
long adder(int a, long b){
System.out.println("long adder(int a, long b) = " + a+b);
return a+b;
}
long adder(long a, long b){
System.out.println("long adder(long a, long b) = " + a+b);
return a+b;
}
int adder(int a, char b){
int result = a + (int)b; // 아스키코드
System.out.println("long adder(long a, char b) = " + result);
return result;
}
double adder(int a, double b){
System.out.println("double adder(int a, double b) = " + a+b);
return a+b;
}
int pick(char c){
System.out.println("pick(char c) = " + c + " Integer conversion = " + (int)c);
return (int) c;
}
int pick2(char c){
int result = c - '0';
System.out.println("pick2(char c) = " + c + " char - '0' = " + result);
return result;
}
}
class stringtest {
String ch;
String tt;
stringtest(){
this("a","b");
}
stringtest(String ch, String tt){
this.ch = ch;
this.tt = tt;
}
boolean ee(){
if(this.ch.equals(this.tt)){ // 문자열 비교
return true;
}
return false;
}
}
class etc{ // 포함을 위한 class
int iv; // 자동 초기화
static int ev; // 자동 초기화
static{ // static 복잡한 초기화
ev = 3;
}
etc(){this(0);}
etc(int iv){
this.iv = iv;
}
void gg(){
System.out.println("인스턴스 변수 iv = "+ iv + "클래스 변수 ev = " + ev + "상속이 아닌 포함으로 만든 것");
}
}
class test0/*extends Object*/{ // 상속이 없는 class는 extends Object가 숨어있다.
int qq; // 인스턴스 변수
static int[] newarr = new int[10]; // 10칸 짜리 배열 클래스 변수 생성
static { // static 변수 초기화
for (int i =0; i < newarr.length; i++){
newarr[i] = (int)(Math.random()*10)+1; // 1~10 랜덤하게 배열에 넣는다.
}
}
test0(){ // 생성자를 사용해서 인스턴스 변수 초기화
this(0);
}
test0(int qq){ // 생성자를 사용해서 인스턴스 변수 초기화
this.qq = qq;
}
String getarr(){
return Arrays.toString(newarr);
}
}
class test extends test0{
int x;
int y;
static int zz = 1;
test(){ // 기본 생성자
this(0,0,0); // this 생성자
}
test(int qq, int x, int y){ // 생성자
super(qq);
this.x/*참조변수 this*/ = x;
this.y = y;
}
String getAll(){ // 오버라이딩
return "x = " + this.x + " y = " + this.y + "qq = " + super.qq /*참조변수 super*/;
}
static int addd(int x, int y, int z){
return x+y+z;
}
}
class test2 extends test/*상속*/{
stringtest ppp = new stringtest("abc", "abc");
etc aaa = new etc(45); // 포함 etc 인스턴스 생성 후 45로 초기화하고 참조변수 aaa에 주소를 저장한다.
int z; // 자동초기화
test2(){
this(0,0,0,0);
}
test2(int qq, int x, int y, int z){ // 생성자 사용한 복잡한 초기화
super(qq, x, y); // super 생성자
this.z = z;
}
String getAll(){
return "x = " + super.x + " y = " + super.y + " z = " + this.z + " qq = " + super.qq;
}
void getAll2(){
System.out.println("x = " + x);
System.out.println("this.x = " + this.x);
System.out.println("P x = " + super.x);
System.out.println("P x = " + super.x);
System.out.println("P qq = " + super.qq);
}
void getAll2(int x){ // 오버로딩
System.out.println("오버로딩 한 결과" + super.x);
}
void aaagg(){
aaa.gg();
}
boolean pppee(){
return ppp.ee();
}
}
반응형
'JAVA' 카테고리의 다른 글
[JAVA 공부 6일차] 객체지향 Part 4 (0) | 2022.07.27 |
---|---|
[JAVA 공부 5일차] 객체지향 Part 3 (0) | 2022.07.27 |
[JAVA 공부 4일차] 객체지향 Part 2 (0) | 2022.07.26 |
[JAVA 공부 3일차] 객체지향 Part 1 (0) | 2022.07.25 |
[JAVA 공부 2일차] if문, 반복문, 배열 (0) | 2022.07.22 |
Comments