[JAVA] String
·
Back-End/Java
[작성일: 2023. 01. 30] 목차 String 배열의 선언과 생성import java.util.Arrays;class Ex5_1_tmp { public static void main(String[] args) { // index: 0 ~ 3-1, 0~2 String[] strArr = { "가위", "바위", "보" }; // 문자열 3개 배열 생성 System.out.println(Arrays.toString(strArr)); for(int i=0; i     String 클래스final 클래스로 상속 불가한 클래스new String("~~"), "~~" 두 가지 방법으로 생성 가능하며, 둘 중에서는 "~~" 방식이 자원의 재사용으로 효율적임.char[]와 메서..
[JAVA] 객체지향 - 추상클래스, 추상메서드
·
Back-End/Java
[작성일: 2023. 01. 29] 목차 추상 클래스(abstract class)미완성 설계도(부족한 부분이 있음.)미완성 메서드를 갖고 있는 클래스클래스 앞에 abstract를 붙여줘야 함. (추상 메서드가 존재한다고 추론 가능)다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가.코드의 관리에 용이함.상속을 받으며 추상클래스가 구체적이게 됨. (단계별로 관리 가능)abstract class Player { // 추상클래스 abstract void play(int pos); // 추상메서드(몸통{}이 없는 미완성 메서드) abstract void stop(); // 추상메서드}Player p = new Player(); // 에러. 추상클래스의 인스턴스 생성 불가 상속을 통해 추상 메서드를..
[JAVA] 객체지향 - 참조변수의 형변환
·
Back-End/Java
[작성일: 2023. 01. 29] 목차 참조변수의 형변환사용할 수 있는 멤버의 개수를 조절하는 것(값이 달라지는 것이 아님) ➡ 리모콘을 변경하는 것조상 자손 관계의 참조변수는 서로 형변환 가능 멤버의 갯수를 늘리는 형변환은 자동 형변환 되지 않으므로 형변환 생략 불가참조변수가 가리키는 실제 객체가 중요함.class Ex7_7 { public static void main(String[] args) { Car car = null; // 객체가 없어도 형변환에는 문제가 없으나 실행시 에러 // 실제 인스턴스가 무엇인지 중요함 FireEngine fe = new FireEngine(); FireEngine f2 = null; fe.water(); car = fe; car.wate..
[JAVA] 객체지향 - 다형성
·
Back-End/Java
[작성일: 2023. 01. 29] 목차 다형성(Polymorphism)여러 가지 형태를 가질 수 있는 능력조상 타입 참조변수로 자손 타입 객체를 다루는 것자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수는 없음.int i = 10;double d = i;double b = 10.34;int j = b; // (X) 넓은 곳에서 좁은 곳으로 갈 수 없음.INT J = (int)b; // 가능.class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { ++channel; } void channelDown() { --channel; }}class SmartTv extends Tv { /..
[JAVA] 객체지향 - 오버라이딩
·
Back-End/Java
[작성일: 2023. 01. 28] 목차 오버라이딩(Overriding)상속받은 조상의 메서드를 자신에게 맞게 변경하는 것부모 클래스의 메서드를 자식 클래스가 변경해서 정의하는 것class Point { int x; int y; String getLocation() { return "x: " + x + ", y:" + y; }}class Point3D extends Point { // 상속 int r; String getLocation() { // 오버라이딩 return "x:" + x + ", y:" + y + ",r:" + r; } // 선언부는 변경 불가, 내용(구현부)만 변경 가능}public class OverrideTest { public static ..
[JAVA] 객체지향 - 제어자, 접근 제어자, 캡슐화
·
Back-End/Java
[작성일: 2023. 01. 28] 목차 제어자(Modifier)클래스와 클래스의 멤버 (멤버 변수, 메서드)에 부가적인 의미를 부여하는 것접근 제어자 public, protected, (default), private그 외            static, final, abstract, native, transient, synchronized, volatile, sticftp 하나의 대상에 여러 제어자를 같이 사용 가능접근 제어자는 하나만 사용 가능public class ModifierTest { public static final int WIDTH = 200; // 제어자 3개 사용 // 순서는 상관없으나 대부분 접근제어자를 제일 앞에 사용함. public static void main..