[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..
[JAVA] 객체지향 - import
·
Back-End/Java
[작성일: 2023. 01. 27] 목차 import문클래스를 사용할 때 패키지 이름을 생략할 수 있음.컴파일러에게 클래스가 속한 패키지를 알려줌.이클립스 단축키: ctrl + shift + Ojava.lang 패키지의 클래스는 기본 패키지이기 때문에 import 하지 않고도 사용할 수 있음.String, Object, System, Thread, ...class ImportTest { java.util.Date today = new java.util.Date(); // ...}⬇import java.util.Date;class ImportTest { Date today = new Date();}     import문 선언import 패키지명.클래스명;  또는import 패키지명.*; (*은 모든 ..
[JAVA] 객체지향 - 패키지
·
Back-End/Java
[작성일: 2023. 01. 27] 목차 패키지(Package)서로 관련된 클래스의 묶음클래스는 클래스 파일(*.class), 패키지는 폴더, 하위 패키지는 하위 폴더클래스의 실제 이름(full name)은 패키지를 포함 (java.lang.String)     패키지의 선언패키지는 소스파일의 첫 번째 문장으로 단 한 번만 선언함.같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 됨.패키지 선언이 없으면 이름없는(unnamed) 패키지에 속하게 됨.package jaeiva.tistory.com // 패키지 선언public class PackageTest { // 같은 패키지에 속함. public stataic void main(String[] args) { System.out.println..