아무튼 개발
article thumbnail
[Java] 내부클래스, Collection Framework, Iterator, Vector
개발 교육 TIL/back-end 2022. 1. 7. 19:50

내부클래스 내부클래스는 총 4가지이다. 1. 클래스 안에 클래스를 두는 이너클래스 2. 메소드 안에 클래스를 두는 로컬클래스 3. static으로 만드는 클래스(중첩) 4. 익명의 클래스인 anonymous 클래스 로 표현할 수 있다. 이너클래스 class Outer { class Inner{ 이에 따라 outer클래스 내 메소드에서 inner클래스의 객체 생성을 할 수 있다. 메인절에서 이너클래스를 나타낼 때에는 먼저 outer의 객체 먼저 생성한 뒤, -> Outer out = new Outer(); 1. out.print(); //외부클래스가 갖고 있는 메소드 통해서 2. Outer.Inner in = out.new Inner(); //다이렉트로 이너클래스 부르는 2가지 방법으로 할 수 있다. Lo..

article thumbnail
[Java] 형변환, upcast, 인터페이스
개발 교육 TIL/back-end 2022. 1. 6. 20:20

형변환 자료형, 상속관계 등의 형변환과 달리 클래스간에는 불가능하다 여기에서 b=a;를 했을 시, 각각의 데이터 타입이 다르기 때문에 불가능한 것이다. Upcast 자식인 ob1이 부모인 ob2에 들어가는 것이므로 upcast이다 SuperTest의 변수b는 20, SubTest의 b는 100일 경우, upcast를 기준으로 b의 변수가 달라지는 것을 알 수 있다 특히 메소드 영역은 upcast로 ob1이 ob2로 들어갔어도 자식것으로 출력된다 ob2.hap의 경우, 자식인 ob1이 들어갔기 때문에 자식 기준으로 값이 출력된다. downcast) ob2.print(); -> 부모의 메소드가 출력된다. 하지만 밑의 경우는 downcast로 자식의 메소드가 출력된다. ((SubTest)ob2).print()..

article thumbnail
[Java] Wrapper 클래스, Calendar 달력 만들기, singleton, 추상클래스
개발 교육 TIL/back-end 2022. 1. 5. 13:34

Wrapper 클래스 기본 자료형을 클래스화하여 사용하게 함 자료형은 메소드가 없다=명령어가 없다. 클래스만 메소드 지님 boolean, byte, char, short,int,long,float,double : 자료형 => Boolean,Byte,Character,Short,Integer,Long,Float,Double : 클래스 Auto-Boxing : 자료형 -> 클래스 변환(stack->heap) Auto-unBoxing : 클래스 -> 자료형 변환(heap->stack) num2는 new니까 heap영역에 생성된다 UP/DOWNCAST 상속관계의 형변환 부모 = 자식; -> UPCAST (CAST는 형변환을 의미한다) 자식 = 부모;(X) -> 자식=(자식i)부모; : DOWNCAST (자료형의..

article thumbnail
[Java] 상속, override, 오버로딩, object, String클래스-메소드
개발 교육 TIL/back-end 2022. 1. 4. 20:24

상속 두 클래스는 부모가 서로 같아도 남남관계 -> 단일상속이므로 super는 생성자 내 선두에 위치해야 함(자신보다 부모가 더 먼저니까). 한번만 작성 override 어노테이션 반드시 ★상속관계★ 내에서 같은 역할을 하는 메소드명을 동일하게 하는 작업 메소드명은 부모 메소드명과 똑같아야 함 부모 클래스를 재정의해서 사용함 내용은 다르지만 출력 기능이 같으므로 메소드명을 write로 통일 -> 서로 다른 결과 (부모와 자식이 같은 것을 가지고 있으면 자식 자신 것을 사용) cf) 오버로딩 : 하나의 class 오버라이드: 상속관계 마우스로 오버라이드 기능 사용 : 오른쪽 마우스 -> Source -> override/~ 클릭 자식 클래스에서 하단에 추가로 super.write(); 는 부모의 메소드 출..

[Java] call by value/reference, 상속, super
개발 교육 TIL/back-end 2022. 1. 3. 19:26

Call by value 데이터가 stack영역에서 Heap영역으로 넘어가는 것 Call by reference 같은 주소를 공유하는 변수 값을 넘길 때 객체의 시작하는 주소가 넘어감 상속 부모 생성자가 지닌 것은 자신도 지닐 수 있음 private 선언된 것은 상속 불가 protected 선언은 상속 가능 부모와 자식 클래스가 모두 같은 객체를 갖고 있으면 자신 것을 씀 class Test { private String str; private int area; public void set(String str, int area) { this.str = str; this.area = area; } class Circle extends Test { private int w,h; public void Circ..

[Java] private, this, static, overloading
개발 교육 TIL/back-end 2021. 12. 30. 23:56

private private int r; 책에서 주로 '정보의 은닉화'라고 부른다. public과 정반대인 의미 외부에서 다이렉트로 변수에 접근을 못하도록 -> 메소드를 통해 일명 우회도로를 만듦 public void set(int r) // set 혹은 setData 가능 //앞에 public을 해줘야 연결 가능. 값 바꿀 수 있도록 this private int r; public void set(int r) r = r; //이라고 하면 오류! r이 다 똑같이 인식되므로 --> this.r = r; //해줘야 함. this는 클래스 자기 자신을 지칭함. 변수가 같아서 혼란일 때 활용(주로 우회도로 시 사용) static 'new'를 사용하지 않아도 자동으로 메모리 할당된다. 객체가 1000개여도 메모리..

[Java] SubClass, Class
개발 교육 TIL/back-end 2021. 12. 29. 22:57

SubClass Class SubClass 로 시작하거나 메인 Class 하위로 놓을 수 있음 변수 a SubClass oj1 = new SubClass(); SubClass oj2 = new SubClass(); new에 의해 메모리 할당 객체 생성 100개 하면 메모리 할당도 100번 oj1.a = 10; System.out.println("oj1.a : " + oj1.a); --> 값인 10나옴 System.out.println("oj2.a : " + oj2.a); --> 0나옴(초기화 안해도 위의 'new'통해서 o) --> 변수는 메모리 공간 다름 return 메소드의 타입과 똑같아야 함 Class 클래스는 자료형 Public class Record { String 변수1; int[] 변수2 =..

[Java] Selection Sort, Bubble Sort, 주민번호, 배열의 배열
개발 교육 TIL/back-end 2021. 12. 28. 20:27

석차 구하기 스캐너 -> 변수 선언(name,score,rank + i,j,tot) do~while -> tot(인원수) + 조건(10명 이내: tot10 //반대로) 배열 메모리 할당 (변수 선언 이후에 주는 것o) for 구문 통해서 name[i], score[i] 구함 석차 초기화 for 구문 -> rank[i] = 1; 석차 계산 => Selection Sort for(i=0;i

[Java] 만년달력, Selection Sort, 확장 for문, Random
개발 교육 TIL/back-end 2021. 12. 27. 22:12

복습 for문은 반드시 변수 초기화 줘야 함 조건 사이에 변수를 =0으로 주는 것은, 누적 막기 위함 switch문은 if문으로 변경 가능 자리바꿈 공식 if(n1>n2){ n1=n1^n2; n2=n1^n2; n1=n1^n2; 만년달력 구하기 int[] months = {달 별 날짜들}; //총 12개 자동 초기화 do~while문 통해서 년도, 월 받음 // while조건 중, y 윤년 조건: if (y%4==0&&y%100!=0||y%400=0} 1년 1월 1일부터 (y-1)년 12월 31일까지의 날 수 구하기 --> (y-1)*365 + (y-1)/4 - (y-1)/100 + (y-1)/400; (위의 윤년 조건에서 &&는'-', ||는 '+'로 계산) (m-1)월 말일까지의 날 수 구하기 --> ..

profile on loading

Loading...