본문 바로가기

Java & 스프링/Java17

[Java] extends(상속), implements(인터페이스), abstract(추상) 자바는 객체 지향 언어의 특징을 구현하기 위해 상속, 인터페이스, 추상클래스라는 개념을 사용한다. 각각의 특징을 비교해 보자. 1. 상속(extends) extends 키워드를 사용한다. 기존의 클래스를 재사용 하여 새로운 클래스를 작성하는 것을 말한다. 상속을 이용하면 적은 양으로도 클래스 작성이 가능하고 공통 코드를 관리할 수 있어서 유지보수가 용이하다. 조상 클래스가 변경되면 자손 클래스에 영향을 미치지만 반대는 성립하지 않는다. 생성자와 초기화 블럭은 상속되지 않으며 멤버만 상속된다. 단일 상속만을 허용한다. Object 클래스는 모든 클래스의 조상클래스 이다. 2. 추상클래스(abstract class), 추상매서드(abstract method) abstract 키워드를 사용한다. 선언부만 작성.. 2019. 4. 23.
[Java] 오버로딩, 오버라이딩 자바의 오버로딩과 오버라이딩은 이름은 비슷하지만 아주 큰 차이를 가지고 있다. 이 둘의 개념과 차이점을 정리해 보자 메서드 오버로딩(Method overloading) 매개변수의 개수나 타입이 다를경우 한 클래스 내에서 같은 이름의 메서드를 여러 개 정의할 수 있는 것을 말한다. 오버로딩은 아래의 조건을 따른다. 메서드의 이름이 서로 같아야 한다. 매개변수의 개수나 타입이 달라야 하며 순서가 달라도 상관없다. public class Test { public static void main(String[] args) { System.out.println("메인 함수"); } public void name(String arg1) { } public void name(String str, int num) { }.. 2019. 4. 23.
[Java] JVM이란? 자바언어로 작성한 프로그램은 모두 JVM위에서 동작하게 됩니다. 이 JVM이란 무엇이고 어떤 역할을 할까요? JVM? JVM은 Java Virtual Machine의 줄임말로, 번역하자면 '자바 가상 머신'으로 해석할 수 있습니다. JVM에 대해 이해하기 전에 모든 프로그램 언어는 개발자(인간)가 작성한 언어를 컴퓨터(기계)가 이해 가능한 언어로 변경해 주는 과정이 필요하다는 것을 알고 있어야 합니다. 여기서 개발자가 작성한 언어는 코드, 컴퓨터가 이해 가능한 언어는 기계어라고 불립니다. 그리고 코드를 기계어로 변경하는 작업을 컴파일이라고 합니다. 아주아주 간단하게 프로그램이 실행되는 과정에 대해 살펴보자면 '프로그램 작성 -> 컴파일 -> 실행'의 단계로 진행된다고 볼 수 있습니다. JVM은 위 과정의.. 2019. 4. 20.
[Java] 클래스 변수와 인스턴스 변수의 비교 이전 포스팅에서 클래스 변수와 인스턴스의 정의에 대해 알아보았다. 2019/04/19 - [자바/기본] - 인스턴스 변수와 클래스 변수 인스턴스 변수와 클래스 변수 자바에의 클래스에서 사용할 수 있는 변수의 종류는 총 3가지가 있다. 이 3가지에 대해서 알아보자. 변수의 종류는 선언된 위치에 따라 정해진다. 따라서 3가지의 변수 종류를 구분하기 위해서는 해당 변수가 선언.. steady-hello.tistory.com 이제 소스를 통해 각각을 비교해 보자 package test; public class MainClass { public static void main(String[] args) { System.out.println("카드의 높이 : " + CreadCard.height); System.ou.. 2019. 4. 19.