본문 바로가기

전체 글

(234)
[Spring 실습] 프로젝트 생성 프로젝트 생성1. start.spring.io 접속   2. 인텔리제이에서 생성한 파일을 오픈해보자.  3. 실행하고 localhost:8080에 접속해보자.   * 인프런 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 참고하여 작성했습니다.
[Java 기본] 다형성과 메서드 오버라이딩 다형성과 메서드 오버라이딩다형성을 이루는 또 하나의 중요한 핵심 이론은 메서드 오버라이딩이다.  메서드 오버라이딩은 "오버라이딩 된 메서드가 항상 우선권을 가진다" 는 점이 가장 중요하다.  메서드 오버라이딩을 다형성과 함께 사용해보자. 예제Parent.javapublic class Parent { public String value = "parent"; public void method() { System.out.println("Parent.method"); }} Child.javapublic class Child extends Parent{ public String value = "child"; @Override public void method() { ..
[Java 기본] instanceof instanceof다형성에서 참조형 변수는 다양한 자식을 대상으로 참조할 수 있다. 그런데 참조하는 대상이 다양하기 때문에 어떤 인스턴스를 참조하고 있는지 확인하기 어렵다.  Parent parent1 = new Parent()Parent parent2 = new Child()=> parent1, 2 가 참조하는 인스턴스의 타입을 확인하려면 instanceof 키워드를 사용하면 된다.  예제 public class CastingMain5 { // 다운캐스팅을 자동으로 하지 않는 이유 public static void main(String[] args) { Parent parent1 = new Parent(); System.out.println("parent1 호출");..
[Java 기본] 다형성과 캐스팅 다형성과 캐스팅Parent poly = new Child() 와 같이 부모 타입의 변수를 사용하게 되면 poly.childMethod() 와 같이 자식 타입에 있는 기능은 호출할 수 없다.   public static void main(String[] args) { // 부모 변수가 자식 인스턴스 참조( 다형적 참조) Parent poly = new Child(); // 단 자식의 기능은 호출할 수 없다. // poly.childMethod(); // 다운 캐스팅(부모 타입 -> 자식 타입) Child child = (Child) poly; child.childMethod(); ..
[Java 기본] 다형성(Polymorphism) 다형성 객체지향의 특징에는 캡슐화, 상속, 다형성이 있다. 다형성은 그 중에서도 가장 중요한 특징 중 하나이다. 다형성(Polymorphism)은 이름 그대로 "다양한 형태", "여러 형태"를 뜻한다. 프로그래밍에서 다형성은 한 객체가 여러 타입의 객체로 취급될 수 있는 능력을 뜻한다. 보통 하나의 객체는 하나의 타입으로 고정되어 있다. 그런데 다형성을 사용하면 하나의 객체가 다른 타입으로 사용될 수 있다.  다형적 참조Parent.javapackage poly.basic;public class Parent { public void parentMethod() { System.out.println("Parent.parentMethod"); }} Child.javapackage pol..
[Java 기본] super - 부모 참조, 생성자 super - 부모 참조부모와 자식의 필드명이 같거나 메서드가 오버라이딩 되어 있으면, 자식에서 부모의 필드나 메서드를 호출할 수가 없다. 자식에서 먼저 찾고 없을 경우에 부모를 찾기 떄문이다. 이 때 super라는 키워드를 사용하면 부모를 참조할 수 있다.   예제 Parent.javapackage extends1.super1;public class Parent { public String value = "parent"; public void hello() { System.out.println("Parent.hello"); }} Child.javapackage extends1.super1;public class Child extends Parent{ public Str..
[Java 기본] 상속과 접근 제어 상속과 접근 제어접근제어자 protected는 패키지가 달라도 상속 관계의 호출을 허용한다.   예제access.parent 패키지 생성. Parent.javapackage extends1.access;public class Parent { public int publicValue; protected int protectedValue; int detaultValue; private int privateValue; public void publicMethod() { System.out.println("Parent.publicMethod"); } protected void protectedMethod() { System.out.println("p..
[Java 기본] 상속과 메서드 오버라이딩 상속과 메서드 오버라이딩부모 타입의 기능을 자식 클래스에서 다르게 정의하고 싶을 수 있다. 부모에게서 상속받은 기능을 자식이 재정의 하는 것을 메서드 오버라이딩(Overriding)이라 한다.  예제이전 포스팅의 예제 참고2024.07.15 - [Java] - [Java 기본] 상속 [Java 기본] 상속상속예제 ElectricCar.javapublic class ElectricCar { public void move() { System.out.println("차를 이동합니다. "); } public void charge() { System.out.println("충전합니다. "); }}  GasCar.javapublic class GasCar { public void move() { Systdev-ba..