분류 전체보기
-
[JAVA]java 상속의 개념/상속과 접근 제어/super/묵시적 형 변환Languages/Java 2021. 2. 23. 16:10
상속 # 상속의 개념 - 상속(inheritance)은 기존의 존재하는 클래스로부터 코드와 데이터를 이어받고 자신이 필요한 기능을 추가하는 기법이다 # 상속하는 클래스/상속받는 클래스 - 상속하는 클래스 parent,base,super class 상위클래스 - 상속받는 클래스 child,derived,sub class 하위클래스 # 클래스 상속 문법 class B extends A { } ex) 포유류 >>> 사람 class Human extends Mammal{ } ▶ 이때!!! → 코드를 재사용하는 법은 상속과 합성이 있다. ex) point 와 circle 클래스가 있다고 하자. point package inheitance; public class Point { private int x; priva..
-
[JAVA]객체 배열, 배열 복사, 다차원 배열, arraylistLanguages/Java 2021. 2. 22. 18:35
객체 배열 만들기 참조자료형을 선언하는 객체 배열 배열만 생성 한 경우 요소는 null로 초기화 된다 각 요소를 new를 활용하여 생성하여 저장해야한다 활용)BOOK이라는 변수 배열을 이용하여, 책 제목과 저서를 구현 BOOK package array; public class Book { private String bookName; private String author; public Book() {} public Book(String bookName, String author) { this.bookName = bookName; this.author = author; } public String getBookName() { return bookName; } public void setBookName(St..
-
[JAVA]java 배열Languages/Java 2021. 2. 22. 18:03
배열과 arraylist 배열은 왜 써야 할까? 1)정수 20개를 이용한 프로그래밍을 할 때 20개의 정수 타입의 변수를 선언 해야한다. 2)비효율적이고 변수관리도 힘들다. 3.배열은 동일한 자료형의 변수를 한꺼번에 순차적으로 관리할 수 있다. 배열 선언하기 자료형{}배열이름 = new 자료형[개수]; int[] arr = new int[10]; 자료형 배열이름[] = new 자료형[10]; int arr[] = new int[10]; [] : 인덱스 혹은 첨자연산자 배열의 위치를 지정하여 자료를 가져온다 모든 배열의 순서는 0부터 시작한다 n개 배열은 0부터 n-1위치까지 자료가 존재 배열의 길이와 유효한 요소 값 배열의 길이의 속성 : lengh 자료가 있는 요소만 출력 하려면 크기에 대한 저장을 따..
-
[JAVA] static 변수Languages/Java 2021. 2. 18. 19:10
static 변수 여러개의 인스턴스가 같은 메모리 값을 공유하기 위해 사용 인스턴스는 각각의 메모리를 갖게 된다 static 변수는 인스턴스가 생성될 때 마다 다른 메모리를 가지는 것이 아니라 프로그램이 메모리에 적재(load) 될때 데이터 영역의 메모리에 생성된다 따라서 인스턴스의 생성과 관계없이 클래스 이름으로 직접 참조한다 Student.serialNum = 100;//serailNum이 static변수,클래스변수라고도 한다 멤버변수는 다른 말로 인스턴스 변수라고 한다 static변수의 예 여러 인스턴스가 하나의 메모리값을 공유할때 필요 학생이 생성될때마다 학번이 증가해야하는 경우 기준이 되는 값은 static변수로 생성하여 유지한다 ex)각 학생이 생성될때 마다 static변수 값을 복사해 와서 ..
-
[JAVA]객체 간의 협력Languages/Java 2021. 2. 18. 17:24
COOPERATION BUS package cooperation; public class Bus { int busNumber; int passengerCount; int money; public Bus(int busNumber) { this.busNumber = busNumber; } public void take(int money) { this.money += money; passengerCount++; } public void showInfo() { System.out.println("버스" + busNumber + "번의 승객은" + passengerCount + "명이고, 수입은" + money + "입니다"); } } SUBWAY package cooperation; public class Su..
-
[JAVA]JAVA THISLanguages/Java 2021. 2. 18. 17:12
this가 하는일 자신의 메모리를 가리킴 생성자에서 다른 생성자를 호출 자신의 주소를 반환함 생성자에서 다른 생성자를 호출하는 this this를 이용하여 다른 생성자를 호출할 때는 그 이전에 어떠한 statment도 사용할 수 없다 위와 같이 생성자가 여러개 이고 피라미터만 다른 경우 constructor overloading 이라고 한다 package thisex; class Birthday{ int day; int month; int year; public void setYear(int year) { this.year = year; /*this를 쓰지 않으면 지역변수의 이름과 같기 때문에 자신의 메모리를 가리키는 역할 */ } public void printThis() { System.out.pri..
-
[JAVA]JAVA 생성자,참조자료형,정보은닉Languages/Java 2021. 2. 18. 17:07
생성자 인스턴스 생성 시 new키워드와 함꼐 사용했던 생성자 디폴트 생성자(dafault constructor) 하나의 클래스에는 반드시 적어도 하나 이상의 constructor가 존재 프로그래머가 constructor 를 기술하지 않으면 default constructor가 자동으로 생김 (컴파일러가 코드에 넣어줌) default constructor 는 매게 변수가 없음 default constructor 는 구현부가 없음 만약 클래스에 매개변수가 있는 생성자를 추가하면 디폴트 생성자는 제공되지 않음 참조자료형 변수의 자료형 기본자료형 int, long,double, ... 참조 자료형 String,Date,Student,... 클래스 형으로 선언하는 자료형 예 학생의 속성 중 수업에 대한 부분 수업..
-
[JAVA]JAVA 함수, 클래스, 인스턴스Languages/Java 2021. 2. 18. 15:34
함수란? 하나의 기능을 수행하는 일련의 코드 중복되는 기능은 함수로 구현하여 함수를 호출하여 사용한다. 함수를 왜 쓰나요? 1. 각 각의 기능이 구별되어 기능해야하기 때문에 2. 오류 시 발견이 쉽다 아래 코드와 같이 addnum이라는 함수를 선언하여 리턴, 위 함수에 사용함 이 때, 매게 변수의 이름이 달라도 상관이 없다. package classpart; public class FunctionTest { public static void main(String[] args) { int num1 = 10; int num2 = 30; int sum = addNum(num1, num2); System.out.println(sum); } //함수 선언 반환타입, 함수이름, 매게변수 함수를 정의한다 public..