Language/Java

상속(inheritance)이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속이란 객체지향의 4대 핵심 개념 중 하나로, 상속을 통해 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 용이하다. 상속을 구현하는 방법은 새로 작성하고자 하는 클래스의 이름 뒤에 extends 키워드를 붙이고, 상속받고자 하는 클래스의 이름을 쓰면 된다. class Child extends Parent { } 이때 상속해 주는 Parent 클래스를 '조상 클래스'라 부르고, 상속을 받는 Child 클래스를 '자손 클래스'라고 한다. 아래는 조상 클래스와 자손 클래스를 표현하는 다양한 방법이다. 조상 클래스: 부모(paren..
생성자(Constructor)란? 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드 생성자는 주로 인스턴스 변수의 초기화나 인스턴스 생성 시 실행되어야 할 작업이 있을 때 사용한다. 생성자는 기본적으로 메서드와 굉장히 유사하지만, 메서드와 달리 두 가지 중요한 조건이 있다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. 생성자를 생성하는 코드를 보면 차이를 한눈에 파악할 수 있을 것이다. 클래스이름(매개변수) { // 인스턴스 생성 시 수행될 코드 } class Card { ... Card() { // 매개변수가 없는 생성자 } Card(String shape, int number) { // 매개변수가 있는 생성자 } } 위의 코드를 보면 알 수 있듯이 단순히 클..
오버로딩(Overloading)이란? 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 기본적으로 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 그러나 Java에서는 한 클래스 내에 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면 다른 메서드로 취급할 수 있다. 오버로딩의 대표적인 예시는 'println()' 메서드이다. 콘솔에 데이터를 출력하기 위해 흔히 사용하는 가장 기초적인 메서드이지만, 사실 자세히 살펴보면 매개변수로 어떤 값이 들어오든 정상적으로 출력할 수 있도록 10개의 println 메서드가 오버로딩 되어있다. 오버로딩의 조건 위에서 언급했듯이 오버로딩이 성립하려면 두 가지 조건을 만족해야 한..
메서드(Method)란? 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것 기본적으로 메서드는 수학의 함수와 유사하며, 어떤 값을 입력하면 이 값으로 작업을 수행해서 결과를 반환하는 역할이다. 그래서 메서드를 '블랙박스(black box)'라고도 하는데, 내부를 몰라도 사용하는 데 문제가 없다는 의미이다. 메서드를 사용하는 이유 1. 높은 재사용성(reusability) 한 번 작성한 메서드는 몇 번이고 다시 호출해서 재사용하여 개발 효율성을 높일 수 있다. 자주 사용할 것 같은 기능을 미리 만들어 두고 간단하게 호출함으로써 개발 시간을 단축시킬 수 있고, 이미 검증된 메서드를 다시 재사용함으로써 오류의 발생 가능성을 줄일 수 있다. 2. 중복된 코드 제거 프로그램을 작성하다 보면 필연적으로 중복되는..
클래스(Class)란? 클래스는 '객체를 정의해 놓은 것'으로, 객체를 생성하는 데 사용한다. 쉽게 말하자면 객체를 원할 때마다 쉽게 생성할 수 있도록 미리 만들어 놓는 '객체의 설계도'라고 할 수 있다. 그렇다면 여기서 객체란 무엇일까? 객체(Object) 객체란 '실제로 존재하는 것'으로, 형태를 가진 사물뿐만 아니라 논리나 개념과 같은 무형적인 것들도 객체에 속한다. 클래스는 이러한 객체를 소프트웨어 세상에서 구현할 수 있도록 객체의 '속성'과 '기능'을 정의하는 것이고, 객체는 클래스에 정의된 대로 메모리에 생성된 것이다. 인스턴스(Instance) 인스턴스는 '클래스를 통해 만들어진 객체'를 말하며, 클래스로부터 객체를 만드는 과정을 '인스턴스화(instantiate)'라고 한다. 다시 말해 인..
다차원 배열 다차원 배열이란 '2차원 이상의 배열, 즉 배열의 요소로 또 다른 배열을 가지는 배열'을 말한다. 중첩할 수 있는 차원의 제한은 없지만, 주로 2차원 배열까지만 사용하고 3차원 이상의 배열은 잘 사용하지 않는다. 해당 포스트는 배열(1차원 배열)에 대해 이해하고 있다고 가정하고 설명하고 있으므로, 만약 배열이 뭔지 모른다면 아래의 포스트를 확인하고 오는 것을 추천한다. 배열 배열(array)이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 배열은 많은 양의 데이터를 저장하고 관리하기 위한 가장 기초적이면서 중요한 자료구조이다. 만약 10,000개의 데이터를 저 doshiwa-dev.tistory.com 2차원 배열의 선언과 인덱스 2차원 배열을 선언하는 방법은 1차원 배열에 대괄호[..
도시와
'Language/Java' 카테고리의 글 목록 (2 Page)