본문 바로가기

[Java] 다형성(polymorphism) 다형성이란? - 객체지향개념에서 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, Java에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. - 조상 클래스의 타입의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 클래스 Tv와 클래스 CaptionTv는 서로 상속관계에 있으며, 이 두 클래스의 인스턴스를 생성하고 사용하기 위해서는 다음과 같이 할 수 있다. - 생성된 인스턴스를 다루기 위해서, 인스턴스의 타입과 일치하는 타입의 참조변수만을 사용했다. Tv인스턴스를 다루기 위해서는 Tv의 타입의 참조변술르 사용하고, CaptionTv 인스턴스를 다루기 위해서는 CaptionTv타입의 참조변수를 사용했다. - ..
[Java] 오버라이딩(overriding) - 'override'의 사전적 의미는 '~위에 덮어쓰다(overwrite)'이다. - 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩이라고 한다. - 상속받은 메서드를 그대로 사용하기도 하지만, 자손 클래스 자신에 맞게 변경해야하는 경우가 많다. 이럴 때 조상의 메서드를 오버라이딩한다. 오버라이딩의 조건 - 오버라이딩은 메서드의 내용만을 새로 작성하는 것이므로 메서드의 선언부는 조상의 것과 완전히 일치해야 한다. - 선언부가 서로 일치해야 한다. 다만 접근 제어자(access modifier)와 예외(exception)는 제한된 조건 하에서만 다르게 변경할 수 있다. 조상 클래스의 메서드를 자손 클래스에서 오버라이딩 할때 1. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경..
[Java] 상속(inheritance) 상속의 정의와 장점 - 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. - 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. - 상속의 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. - 자바에서 상속을 구현하는 방법은 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써 주기만하면 된다. - Childe 클래스와 Parent 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 '조상 클래스'라 하고 상속 받는 클래스를 '자손 클래스'라 한다. - ..
[IntelliJ] Gradle Wrapper 정리 + Gradle 멀티 프로젝트 구성하기 Gradle wrapper - Gradle wrapper는 Gradle 빌드를 시작하는데 가장 선호되는 방법이다. - Gradle wrapper는 윈도우의 배치 스크립트이고, 다른 운영체제의 쉘 스크립트이다. - Gradle wrapper를 통해서 Gradle 빌드를 시작할 때, Gradle이 자동으로 다운로드되고 빌드를 동작하는데 사용된다. - Gradle Wrapper는 반드시 버전 관리 시스템에서 사용해야 하는 것이다. - 프로젝트에 wrapper를 함께 배포함으로써, 누구든지 Gradle을 설치할 필요없이 프로젝트를 이용할 수 있다. - 빌드를 하는 유저들은 빌드가 이루어진 동일한 버전의 Gradle의 사용을 보장받는다. - 서버에 아무 설정도 필요하지 않기 때문에 지속적인 통합(continuou..
[IntelliJ] Spring Initializr로 Gradle프로젝트 생성하기 Pivotal에서 제공하는 스프링 이니셜라이저(Spring Initializr)는 원하는 언어, 빌드 도구, 스프링 버전, 의존성을 체크하여 빠르게 스프링 부트 프로젝트를 생성해준다. https://start.spring.io/