본문 바로가기

자바4

[Java] 다형성(polymorphism)이란? 📚 멘토님이 다형성은 무엇인지, 왜 사용하는지에 대해서 물어보셨는데 머릿속으로는 뭔지 그려지는데 막상 대답을 하려니 내가 아는 내용이 맞는지 의심이 들었고, 현재 알고있는 내용도 어떻게 설명해야하는지 말문이 턱 막혔다. 알고있다고 생각했지만 대답을 못했던,,^^ 자바에서 매우매우 중요한 OOP(객체지향언어)의 특징 중 하나인 다형성에 대해서 알아보도록 하자! 다형성(polymorphism)이란? 객체지향개념의 중요한 특징 중의 하나인 다형성은 '하나의 객체가 여러 가지 타입을 가질 수 있는 것'을 의미한다. 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현했다. 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나다.. 2021. 8. 15.
[Java] 상속(Inheritance)에 대해서 📚 이전에 오버로딩과 오버라이딩의 차이점에 대해서 글을 작성했다. 이번 글에서는 오버라이딩에 대해서 더 확실하게 이해하기 위해서 상속에 대한 정리를 해보려고 한다. 자바에서 상속이란? 일반적으로 생각했을 때 상속이란 무언가를 부모에게 물려받는 것을 말한다. Java에서의 상속도 비슷하다. 부모클래스의 변수와 메소드를 상속을 통해 자식클래스에서 사용할 수 있게 해준다. 조금 더 깊게 말하자면, 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다.(확장의 개념) 이때 기존에 정의되어 있던 클래스를 부모클래스(parent class) 또는 상위클래스(super class)라고 부르며, 상속을 통해 새롭게 작성되는 클래스를 자식클래스(child class) 또는 하위클래스(sub.. 2021. 8. 14.
[Java] 오버라이딩(Overriding)과 오버로딩(Overloading)의 차이점 오버로딩(Overloading)이란? 메소드도 변수와 같이 같은 클래스내에서 구분이 필요하기 때문에 메소드 명이 각기 달라야한다. 하지만 자바에서는 메소드명이 같더라도 매개변수의 개수 또는 타입이 다르면 같은 이름을 사용해서 메소드를 정의할 수 있다. 이처럼 한 클래스 내에 같은 이름의 메소드를 여러개 정의하는 것을 '오버로딩(Overloading)'이라고 한다. 오버로딩(Overloading)의 조건 메소드 이름이 같아야 한다. 매개변수 또는 타입이 달라야한다. 예제 public Class Overloading{ // 매개변수 미존재 void play() { System.out.println("매개변수 미존재"); } // 매개변수 int형 1개 void play(int a) { System.out.p.. 2021. 8. 11.
[Java] 변수(Variable)와 자료형(Data type) 자바에서의 변수(Variable) 변수란? 내용을 어딘가에 담아두어야 할 때 사용되는 것을 "변수(variable)"라고 부른다. 변수의 종류 지역 변수 local variables : 중괄호 내에서 선언된 변수 매개 변수 parameters : 메소드에 넘겨주는 변수 인스턴스 변수 instance variables : - 메소드 밖에 , 클래스 안에 선언된 변수. 앞에는 static이라는 예약어가 없어야 한다. 클래스 변수 class variables : 인스턴스 변수처럼 메소드 밖에, 클래스 안에 선언된 변수 중에서 타입선언 앞에 static이라는 예약어가 있는 변수 public class VariableTypes{ int instanceVariable; static int classVariable;.. 2021. 7. 18.