course 2021/JAVA

course 2021/JAVA

day13 - polymorphism

객체지향 프로그래밍 기술 - 상속, 은닉, 다형성 > 다형성 polymorphism 객체가 여러 형태를 가짐 - 하나의 객체가 여러가지 유형으로 사용됨 상속을 전제조건으로 함 부모 타입에 모든 자식 객체가 대입될 수 있음 (자바는 자식클래스가 부모클래스의 타입을 가질 수 있게 허용) 부모클래스 변수 = new 자식클래스() - 부모클래스에 있는 기능만 사용 가능 - 오버라이딩된 메소드는 먼저 실행됨 class A {} class B extends A {} //부모클래스A 자식클래스B public class Basic { B b = new B(); A a = b; // B -> A 자동형변환 // A a = new B(); //자바 최상위 부모클래스 Object _ 모든 객체가 저장될 수 있음 Object..

course 2021/JAVA

day12 - access modifier, encapsulation

> 접근제한자 access modifier 클래스, 멤버변수, 메소드, 생성자로의 접근을 제어할 수 있는 제한자 클래스 설계 시 외부에서 접근할 수 있는 멤버와 그렇지 않은 멤버를 구분하여 -접근제한자를 사용하여- 설계하는 것이 좋음 접근제한자 종류 public - 모두 접근가능 protected - 같은 패키지, 같은 클래스, 다른 패키지의 상속 관계 클래스 접근가능 / 다른 패키지의 무관한 클래스 접근 불가 default(접근제한자 쓰지 않음) - 같은 패키지, 같은 클래스 접근 가능 / 다른 패키지 접근 불가 private - 같은 클래스 내에서만 접근 가능 *클래스에 적용 가능한 접근제한자 - public, default //패키지 pac1 package pac1; class A { //defau..

course 2021/JAVA

day11 - this, super

> this 자기자신 객체를 지정할 때 사용하는 키워드 this. - 동일 클래스 내의 멤버(멤버변수, 메소드) 지정 this() - 생성자 내에서 자신의 다른 생성자 호출 public class Person { String name; //멤버변수 int age; Person(String name, int age) { //생성자, 매개변수 name, age가 위의 멤버변수 이름과 같음 name = name; //앞의 name이 멤버변수가 아닌 가까이 있는 매개변수로 인식됨 (이름이 같기 때문) age = age; } } //this. 를 사용하여 수정한 코드 public class Person { String name; int age; Person(String name, int age) { this.na..

course 2021/JAVA

day10 - inheritance, overriding, overloading

객체지향 프로그래밍 기술 - 상속, 은닉, 다형성 > 상속 inheritance extends 상속받을클래스명 객체 지향 언어에서의 상속은 기존 클래스를 확장하여 새로운 클래스를 이끌어내는 것 여러 개의 클래스가 같은 기능(코드)를 필요로 할 때, 이것을 한 클래스에서 작성 후 여러 개의 클래스에게 상속 코드 재사용으로 반복작업을 줄일 수 있음 [상속해주는 클래스 = 부모 클래스 (parent / super class)] → [상속받는 클래스 = 자식 클래스 (child / sub class)] 멤버변수와 메소드가 상속되며, 생성자는 상속되지 않음 단일 상속만 지원함 *자바의 모든 클래스는 Object 클래스를 상속받고 있음 (Object 클래스는 자바의 최상위 클래스) //만들고 싶은 클래스1 publ..

course 2021/JAVA

day09 - package

> Garbage Collecting 자바가상머신 JVM 이 메모리를 알아서 관리하는 것 생성된 객체를 메모리에서 해제하는 키워드 없음 - 더 이상 프로그램에서 쓰이지 않으면 garbage collector가 알아서 해제 수거 public class MainClass { public static void main(String[] args) { Pen p; for(int i = 0; i //Pen p; //p = new Pen(); 위와 같이 객체를 100000000개 생성해도 메모리가 초과되지 않는 이유 - garbage collecting > 패키지 package 클래스의 분류를 위해 사용함 project > package > class 프로젝트 안에 패키지 생성 (src 우클릭 - new - pack..

course 2021/JAVA

day08 - class

> class 클래스는 객체를 만들기 위한 틀 클래스 안에는 멤버변수와 메소드가 존재한다 -클래스의 변수는 객체의 속성이다 -클래스의 메소드는 객체의 기능이다 *(선언 위치에 따른) 변수의 종류 1) 멤버변수 member variable (클래스변수/인스턴스변수) - 클래스 내부에서 생성되고 사용됨 - 생성 시 기본값으로 자동 초기화됨 2) 지역변수 local variable - 메소드, 생성자 내부(블록{ })에서 생성되고 사용됨 - 메소드 종료와 동시에 소멸됨 - 초기화 필수 public class Variable { int a; void varNum(int c) { int b = 1; } //a: 멤버변수 //b: 지역변수 //c: 매개변수 public calss ObjectBasic { publi..

course 2021/JAVA

day07 - method

> method 메소드 (함수) (매개변수) { ... } 반복되는 코드 블록에 이름을 붙인 것 - 반복되는 코드를 줄이고 구조화시켜 가독성을 좋게 함 객체지향프로그램에서 메서드를 '객체가 가져야 할 기능을 구현하기 위해 만든다'고 표현함 method는 다른 method 안에 만들 수 없음 (class 안에/ main 밖에 위치) * return type 반환 유형 메소드를 실행하여 호출한 곳에 반환하는 값의 datatype 반환값이 없는 경우 반환 유형에 void 써줌 (ex. void calSum()) 메소드를 호출 시 해당 반환 유형에 맞는 변수에 반환값을 저장해야 함 (ex. int a = calSum(1, 2) ← calSum의 반환 유형이 int인 경우) * return 1)반환값이 있는 메소..

course 2021/JAVA

day06 - array insert, update, delete

> array insert 삽입 배열의 원소에 원하는 값을 넣기 Scanner scan = new Scanner(System.in); String[] arr = new String[100]; //크기 100 배열 arr 선언 int count = 0; //음식의 개수 변수 & 배열의 인덱스 역할 System.out.println("먹고 싶은 음식을 입력하세요."); while(true) { System.out.print(">"); String menu = scan.nextLine(); //menu 입력받음 if(menu.equals("그만")) break; //그만 이라고 입력 시 반복 종료 arr[count] = menu; //배열에 입력받음 menu를 차례대로 넣음 count++; //menu를 하나..

course 2021/JAVA

day05 - control statement

*제어문 1) 조건문 (if, switch) - 특정 조건 만족 시 코드 실행 2) 반복문 (while, do~while, for, 향상된 for) - 코드 반복 실행 3) 탈출문 (break, continue, return) - 반복문 실행 중 중지 > 조건문 1. if ~ else if (조건식) { } else { } 조건식 결과는 반드시 boolean형 조건식 결과 true → if 블록 , false → else블록 실행 만약 결과가 false 일 때 실행할 문장이 없으면 else 생략 가능 (if문은 else문 없이 사용 가능, else문은 if문 없이 단독 사용 불가) // 0~100 사이의 점수를 랜덤으로 받아, 70점 이상은 합격, 70점 미만은 불합격 int a = (int)(Math...

course 2021/JAVA

day04 - array, scanner

> 배열 Array 같은 datatype의 변수 여러개를 선언할 때 쓰임 동종모음 Homogeneous collection - 다른 datatype 혼합해서 사용 불가 일종의 datatype으로 취급 - 기본 datatype/객체참조 datatype/다른 배열의 순차적 집합체 라고 할 수 있음 배열을 정의하는 대괄호가 배열변수명 앞에 오는 것이 가능 1. 선언 - datatype 지정, 크키 지정 불가 ; OR ; int arr[]; int[] arr; 2. 생성 - 배열의 크기 지정 = new ; arr = new int[3]; [index]: 0부터 시작해서 (크기-1)까지 (ex. 배열의 크기가 3이면 index는 0, 1, 2) 3. 초기화 - 배열에 들어갈 값 입력 arr[0] = 10; arr..

코딩하는토끼
'course 2021/JAVA' 카테고리의 글 목록 (2 Page)