JAVA 35

[JAVA] 상속 / 오버라이딩 / this,super / 검색하기

객체지향언어의 3대특징 - 은닉성(캡슐화), 상속성, 다형성 ※ 상속 (Inheritance) - 부모 클래스의 구성요소, 행위를 그대로 물려받아 사용하고, 자신만의 구성요소와 행위는 추가해서 사용 - 클래스를 상속받게 되면 부모 클래스의 멤버들을 가져다가 사용할 수 있다 - 자식 클래스들의 공통적인 부분은 부모 클래스에서 관리하고, 자식클래스는 자신에 정의된 멤버들만 관리 ▶ 상속의 장점 - 적은양의 코드로 새로운 클래스 작성 가능 - 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 용이 부모클래스 ) 상위 (Super) 클래스, 기본(Base) 클래스, 조상클래스 자식클래스 ) 하위(sub) 클래스, 파생 (derived) 클래스, 자손클래스 - 클래스간의 상속관계를 맺어주면 자식 클..

JAVA 2022.02.26

[JAVA] 클래스배열

클래스배열 넌 뒤졌다 진짜 개조져준다 static은 그냥 보내준다 운좋은줄 알아라 ;;;; ▶클래스 배열 배우기전 일반배열 연습해보기 - 배열 선언 후 값 할당 int[] arr; arr= new int[3]; arr[0]=10; arr[1]=20; arr[2]=50; - for 문과 확장 for 문으로 배열보기 //for for(int i=0;i new 로 객체를 생성해서 넣는다 ! Account acc = new Account("001-100-2000", 10000); ▼ 클래스 배열에 값 넣기 - int 배열에는 int를 넣는다 String 배열에는 String 을 넣는다 Account 배열에는 Account 를 넣는다.. 어떻게 넣지 ? => new 로 객체생성해서 넣는다 1. 클래스 (Accou..

JAVA 2022.02.24

[JAVA] Static

▶ 용어짚고가기 객체(object)는 속성과 행동으로 구성되어 있는 하나의 단위이다. 궁극적인 실체이다. 클래스(class)는 객체를 만드는 설계도이다. 어느 무리의 객체를 특징 짓는 데에 공통적으로 갖춘 모양을 뽑아서 하나의 틀을 만든 것이다. 이런 과정을 '추상화'라고 한다. 인스턴스(instance)는 클래스를 new 명령문으로 메모리에 생성한 객체이다. 설계도를 통해 독립적인 객체를 만든 것이다. /* 객체와 인스턴스 */ public class Animal { public class Main { public static void main(String[] args) { Animal cat, dog; // '객체' // 인스턴스화 cat = new Animal(); //cat은 Animal 클래스의..

JAVA 2022.02.23

[JAVA] 생성자 / 접근제한자 / getter,setter

진짜 뒤질것같다 오늘꺼 개어렵다 머리에 들어온거 하나도없는데 일단 필기갈겨본다 뒤졌다 모조리 머리속에 넣어주마 클래스 - 객체를 만들어 내는 설계도 - 행위, 기능(메서드) + 특성, 데이타(변수) - Object를 행위와 특성으로 바라보고 그것을 코드로 옮겨 놓은 것 ▶클래스 디자인 [1] 클래스명 설정 - class 이름 { [2] 메소드 만들기 ▽ [1][2] 를 활용한 덧셈, 뺄셈 계산기 클래스 디자인 class Calculator{ public double add(double a, double b){// 덧셈 double d = a+b; return d; } public double subtract(double a, double b){// 뺄셈 return a-b; } ▽ 위에서 디자인한 클래스..

JAVA 2022.02.22

[JAVA] 객체와 클래스

객체지향프로그래밍 현실에 존재하는 사물과 대상, 그리고 그에 따른 행동을 있는 그대로 실체화시키는 형태의 프로그래밍 사물과 대상의 행동을 있는 그대로 실체화시키는 프로그래밍 ※ 객체 - 상태정보(속성, 데이터)와 행동(기능)으로 구성됨 상태 => 변수를 통해서 표현됨 행동 => 메소드를 통해 표현됨 예) 나는 과일장사에게 두 개의 사과를 구매했다. ▷ 객체의 종류 - 나, 과일장사, 사과 '나'라는 객체가 '과일장사'라는 객체로부터 '사과'객체를 구매하는 행위도 그대로 표현할 수 있다. 과일장사 객체 과일장사는 과일을 판다. (행동) 과일장사는 사과 20개, 귤 10개를 보유하고 있다. = 과일의 개수 (상태) 과일장사의 과일 판매수익은 50000원이다. - 판매수익 (상태) ▽메소드로 나타내기 int ..

JAVA 2022.02.21

[JAVA] 배열

배열 ★★★★★ - 같은 타입의 데이터를 여러 개 저장할 수 있는 저장소 - 동일한 타입의 변수들을 하나의 이름으로 묶어 놓은 것 - 참조형, 배열의 이름에 주소값이 들어감 배열의 요소들은 인덱스(index,첨자)로 접근 가능 ※ 배열 선언 ▶ 따로 1. 배열선언 int[]arr; 2. 메모리할당 arr = new int[3]; 3.초기화 ( 배열에 입력하는 것 ) arr[0]=10; arr[1]=23; arr[2]=65; ▶ 한꺼번에 1. 배열선언, 메모리할당 - 선언, 할당만 했을 경우 배열 요소들은 기본값 0 으로 초기화됨 int[] arr2 = new int[2]; 2. 모두 int[] arr4 = new int[] {10,20,30}; ※ 배열 변수의 복사 - 배열 인스턴스( instance =..

JAVA 2022.02.19

[JAVA] 오버로딩 / 재귀호출 메서드 생성 / Math.random

※오버로딩 (Overloading) 메서드 ★★★★★ - 같은 클래스에서 메서드명은 같은데 매개변수의 개수나 자료형이 다른 것 void func(int a) void func(double a) void func(int a, int b) void func(int a, String b) ※재귀호출 (recursive call) - 메서드의 내부에서 메서드 자기 자신을 다시 호출하는 것 - 반복적인 작업을 해야 하는 메서드에 반복문 대신 재귀 호출을 이용하면, 메서드를 훨씬 간단하게 할 수 있는 경우가 있음 대표예제 1) 팩토리얼(factorial) 구하기 팩토리얼 :한 숫자가 1이 될 때까지 1씩 감소시켜가면서 계속 해서 곱해 나가는 것 - f(n)=n*f(n-1), 단 f(1)=1 4!=4*3*2*1 4!..

JAVA 2022.02.18

[JAVA] 메서드

※메서드 (=함수) - 특정 기능을 수행하는 최소 실행 단위 - 자주 반복하여 사용하는 내용에 대해 특정 이름으로 정의한 묶음 - 필요할 때마다 호출하여 원하는 작업을 시킬 수 있다 - 불필요한 반복 제거 - 코드의 재사용성을 높이는 역할 ▶ 메서드 종류 [1] 기본적으로 제공되는 메서드(내장 메서드) - println(), parseInt(), toUpperCase() [2] 사용자 정의 메서드 ▶메서드 형식 public static double Multipl(double a, double b) { //접근 제한자 반환형 메서드이름(매개변수) double ab=a*b; //기능구현; return ab;//return 반환값 [결과값]; } 용어 입력값 ) 매개변수, parameter, 인수, 인자 결과..

JAVA 2022.02.16

[JAVA] 반복문 / while / do~while문 / 무한루프 / charAt / for문 마지막 "," 제거

※반복문 ▶while 문 - 반복횟수가 가변적인 처리에 적함 - 특정 조건을 주고 그 조건이 만족될 때까지 계속해서 반복시키는 것 while(반복 조건){ 반복명령; } => 조건이 참인동안 계속 반복처리 while (조건식){ 명령문; 증감식; } for(초기값;조건식;증감식) { 명령문; } ▷while 무한루프 무한루프 while(true){ 반복명령; if(조건) break; } => while 은 조건이 참일동안 계속 반복하는 반복문인데 while (조건식 =true) 로 입력해놓았으니 따로 지정하지않는 한 무한루프한다 while 문 안에 if 문으로 중지하는 조건을 따로 만들어두었기 때문에 이를통해 빠져나올 수 있다 ▶do~while문 - 선 실행 후 조건 처리 - 조건보다 명령이 먼저 온다 ..

JAVA 2022.02.15

[JAVA] for 무한루프 / scope /

※for 문 무한루프 - 무한루프 : 반복문안에서 break를 써서 반복문을 빠져나오게 해야 함 for(;;){ 반복할 내용 if(조건식) break; } for(;;) { System.out.println("게임 중~~"); System.out.println("\n계속하시겠습니까?(Y/N)"); String quit = sc.nextLine(); if(quit.equalsIgnoreCase("N")) { break; }//if }//for ※scope 변수의 범위 - {} 블럭내에서 선언된 변수는 블록을 빠져나가면 소멸됨 - 메서드내에서 선언된 변수는 해당 메서드가 종료되면 소멸 - if나 for문 등의 {} 블럭 내에서 선언된 변수는 해당 블럭을 빠져나가면 소멸 static 메서드 호출 : 클래스명...

JAVA 2022.02.14