JAVA
-
Java | Call by Value & Call by ReferenceJAVA/JAVA 2020. 1. 31. 17:42
메소드 호출 방식 Call by Value & Call by Reference 메소드를 호출할 때 매개변수에 전달되는 인자의 자료형에 따라 메소드 호출 방식이 구분됨 Call by Value와 Call by Reference 두 개의 메소드 호출 방식(인자 전달 방식)이 존재 Call by Value 값에 의한 전달 방법, 매개변수의 자료형으로 기본 자료형 8가지 사용 기존의 값을 복사해서 전달하기 때문에 원본에는 변함이 없음 사용례 package j200131; // int형 변수 r, g, b를 전달받아서 값을 변경하고 출력하는 메소드 public class CallByValue { static void changeColor(int r, int g, int b) { r += 10; g += 50; b..
-
Java | Abstract 추상 클래스 & 추상 메소드JAVA/JAVA 2020. 1. 31. 17:21
Abstract 추상 클래스 & 추상 메소드 Abstract 해당 클래스/메소드가 추상 클래스/추상 메소드임을 명시하는 예약어 클래스나 메소드 앞에 abstract를 붙여서 추상 클래스 or 추상 메소드임을 명시 클래스에 추상 메소드가 포함되어 있는 경우 반드시 클래스에 abstract를 작성해야 함 abstract는 접근 제어자 앞이나 뒤에 사용할 수 있음 작성법 // ① abstract를 접근 제어자 앞에 작성 abstract 접근 제어자 class 클래스명 { abstract 접근 제어자 반환형 메소드명(); } // ② abstract를 접근 제어자 뒤에 작성 접근 제어자 abstract class 클래스명 { 접근 제어자 abstract 반환형 메소드명(); } 추상 클래스 추상 메소드를 하나라..
-
Java | FinalJAVA/JAVA 2020. 1. 31. 17:11
Final final은 '마지막'이라는 뜻으로, 마지막으로 정한 것이니 더 이상 수정할 수 없다는 뜻을 가진 예약어 변수, 메소드, 클래스에 사용 가능 final 사용 위치 위치 설명 변수 멤버 변수 및 지역 변수에 모두 사용 가능하며, final 변수는 상수를 의미 관례적으로 final 변수의 이름은 모두 대문자로 작성 메소드 final 메소드는 하위 클래스에서 재정의 불가, 읽기 전용 메소드가 됨 메소드의 원래 목적과 상관 없는 기능으로 변경하는 것을 방지하기 위함 정적 메소드에 많이 사용됨 클래스 final 클래스는 상속 불가, 클래스 내부의 어떠한 내용도 수정하지 못하도록 해야 하는 경우에 사용 사용례_final 변수 package j200131; class Parent { // final + 멤..
-
Java | Integer.to~String()JAVA/JAVA 2020. 1. 31. 17:05
Integer.to~String() Integer 클래스 내장 메소드, 인자로 들어온 int형 숫자를 특정 진수의 숫자로 반환 메소드 설명 Integer.toBinaryString(int i) Integer 클래스 정적 메소드, 인자로 들어온 int형 숫자를 2진수 문자열로 반환 Integer.toOctalString(int i) Integer 클래스 정적 메소드, 인자로 들어온 int형 숫자를 8진수 문자열로 반환 Integer.toHexString(int i) Integer 클래스 정적 메소드, 인자로 들어온 int형 숫자를 16진수 문자열로 반환 Integer.toString(int i, int radix) Integer 클래스 정적 메소드, 인자로 들어온 int형 숫자를 radix(기수) 진수 문..
-
Java | Super & 생성자 호출 메커니즘JAVA/JAVA 2020. 1. 30. 17:46
Super 부모클래스의 객체를 가리키는 예약어 super.멤버변수: 부모 클래스의 멤버 변수에 접근 super.메소드명(~): 부모 클래스의 메소드에 접근 super(~) 부모클래스 생성자 호출 자식클래스의 모든 생성자에 부모 클래스의 기본 생성자를 호출하는 super()가 생략되어 있음 매개변수 입력시, 그에 맞는 부모 클래스 생성자 호출 매개변수 미입력 또는 super() 생략시, 부모 클래스 기본 생성자 호출 상속에서의 this 자식클래스의 객체를 가리키는 예약어, 현재 생성된 객체 자체가 자식클래스이기 때문에 this가 자식클래스의 인스턴스를 가리킴 생성자 호출 메커니즘 자식클래스의 객체를 생성하면 부모클래스 생성자를 먼저 호출한 뒤 자식클래스 생성자 호출 package j200130; // 부모..
-
Java | 접근 제어자 with 상속JAVA/JAVA 2020. 1. 30. 17:40
접근 제어자 with 상속 클래스, 생성자, 멤버 변수, 메소드에 외부에서의 접근 가능성을 제어하는 것 접근 제어자 설명 public 외부 패키지 및 외부 클래스 어디에서나 접근 가능 단, 멤버 변수와 메소드가 public이더라도 해당 클래스가 public이 아니면 외부 패키지에서는 접근 불가 하나의 java(class)파일에는 하나의 public 클래스만 작성 가능 protected 같은 패키지 내부와 상속 관계의 클래스에서만 접근할 수 있고 그 외 클래스에서는 접근 불가 외부 패키지에 있는 클래스여도 같은 패키지의 클래스를 상속받았다면 접근 가능 데이터를 캡슐화하면서 외부 패키지에서도 상속이 가능하도록 하는 접근 제어자 아무것도 없는 경우 default이며 같은 패키지 내부에서만 접근 가능, 동일 패..
-
Java | Inheritance 상속 & Overriding & Class 관계JAVA/JAVA 2020. 1. 29. 19:27
Inheritance 상속 개요 객체 지향 프로그래밍의 중요한 특징 중 하나 일반적으로 무언가를 물려받는다는 의미 자식 클래스가 부모 클래스의 멤버 변수와 메소드를 물려받는 것 → B 클래스가 A 클래스를 상속받으면 B 클래스는 A 클래스의 멤버 변수와 메소드 사용 가능 객체 지향 프로그램의 기반이 되는 기술 복사와 유사 ※ 자바에서 클래스 작성시, 기본적으로 java.lang.Object 클래스를 상속받게 되어있음 형식 class 자식 클래스 extends 부모 클래스 ※ 자식 클래스는 sub class, 부모 클래스는 super class 라고 함 장점 부모 클래스의 멤버변수와 메소드를 그대로 사용하기 때문에 재사용성이 높음 코드의 양을 줄이고 개발시간을 단축할 수 있음 단점 부모 클래스로부터 물려받..
-
Java | Array of Objects 객체 배열JAVA/JAVA 2020. 1. 29. 17:49
Array of Objects 객체 배열 참조 자료형으로 선언하는 배열로, 같은 참조 자료형의 객체만 저장된 배열 기본적인 사용 방법은 배열과 동일함 사용례 package j200129; public class ArrayOfObject { // 멤버 변수 선언 String name; int age; char gender; // 생성자 ArrayOfObject(String name, int age, char gender) { this.name = name; this.age = age; this.gender = gender; } // 정보 출력 메소드 void printInfo() { System.out.println("이름: " + name + ", 나이: " + age + ", 성별: " + gender..