Languages/Java
-
[JAVA]java 오버로딩(overloading)과 java 오버라이딩(overriding)/java 다형성/java 다운캐스팅(downcasting)Languages/Java 2021. 2. 28. 20:15
오버로딩과 오버라이딩 오버로딩(Overloading) : 같은 이름의 메소드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술이다 (쉽게 말해 이름이 똑같은 메서드가 여러개있는것. ) 오버라이딩(Overriding) : 상위 클래스가 가지고 있는 메소드를 하위 클래스가 재정의 해서 상요한다. (쉽게 말해 부모클래스것을 덮어서 썼다.) 오버라이딩 (+덧 붙이는 설명 : 동물이란 부모클래스안에 개라는 자식클래스를 만들고 eat()이 dog클래스의 객체에 대하여 호출되면 dog클래스 안의 eat이 호출 즉 dog의 eat()이 Animal의 eat()을 오버라이딩 한다) 부모클래스(Animal) package inheitance; public class Animal { { System.out.p..
-
[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,... 클래스 형으로 선언하는 자료형 예 학생의 속성 중 수업에 대한 부분 수업..