본문 바로가기

Programming/Java18

자바 super() 생성자는 상속되지 않습니다. 생성자의 기본 문법이 public 클래스명(){} 이기 때문에 클래스명이 이미 다르므로 문법에 맞지 않습니다. 서브 클래스의 인스턴스를 생성할 때는 자동으로 슈퍼클래스의 인스턴스를 먼저 생성한 후 서브 클래스의 인스턴스가 생성됩니다. 따라서 서브 클래스의 생성자를 호출하였는데 오류가 발생한다면 슈퍼클래스의 기본 생성자가 생성되어 있지 않을 확률이 높습니다. 생성자는 상속되지 않지만 부모 클래스의 생성자를 호출하는 방법은 있습니다. 생성자 super() super() 메서드는 슈퍼클래스의 생성자를 호출합니다. ​ 목적 1 ) 슈퍼클래스의 생성자 중 특정 생성자를 명시적으로 호출해야 하는 경우 슈퍼클래스에 기본 생성자 없이 파라미터 생성자만 정의할 경우 서브 클래스에서 슈퍼클래스.. 2021. 1. 6.
자바 상속과 오버라이딩 상속이란 무엇일까요? 부모님에게 상속을 받으면 부모님이 가지고 있는 것의 모든 것들을 물려받을 수 있습니다. 자바에서의 상속은 기존 클래스의 변수나 메서드를 다른 클래스에서 재사용하기 위함입니다. 상속에서 물려주는 클래스를 조상 클래스, 부모 클래스, 상위 클래스, 슈퍼 클래스라고 부르고 상속받는 클래스를 자식 클래스, 자손 클래스, 하위 클래스, 서브 클래스라고 합니다. 상속의 기본 문법과 코드 예시 class 서브클래스 extends 슈퍼클래스 상속의 기본문법은 위와 같습니다. 슈퍼클래스의 멤버변수나 메서드들을 서브클래스에서 그대로 사용할 수 있습니다. package hyuni; public class Inheritance { public static void main(String[] args) { .. 2021. 1. 6.
자바 싱글톤 패턴, 싱글톤 패턴 예시 싱글톤 디자인 패턴(Singleton Design Pattern) 유일한 인스턴스 하나만 생성해서 공유하는 프로그래밍 작성 패턴입니다. 동일한 자원을 사용하는 경우에 불필요한 낭비를 하지 않기 위해서 작성하는 디자인 패턴입니다. ​ 1. 외부에서 인스턴스 생성이 불가능하도록 생성자를 private으로 지정 2. 외부에서 인스턴스 생성이 불가능 하므로 클래스 내에서 직접 인스턴스 생성 3. 외부에서 인스턴스를 전달 받을 수 있도록 내부에서 Getter 메서드를 사용하여 인스턴스를 전달해준다. 싱글톤 디자인 패턴(Singleton Design Pattern) 예시 class SingletonClass { 1. 생성자 정의 private SingletonClass () {} // 생성자를 접근 할수 없도록 접.. 2021. 1. 6.
자바 클래스, 인스턴스, 메서드, 생성자, 오버로딩 클래스와 인스턴스 자바는 흔히 객체지향적인 언어라고 말합니다. 그렇다면 객체지향적 프로그래밍이라는 것은 무엇을 뜻하는 걸까요? ​ Object Oriented Programming(객체지향적 프로그래밍) is A.P.I.E A(Abstraction) : 추상화 P(Polymorphism) : 다형성 I(Inheritance) : 상속성 E(Encapsulation) : 캡슐화 이 4가지의 특성을 잘 이용해 만드는 것을 객체 지향적인 프로그래밍이라고 합니다. 클래스는 이 4가지의 특성 중 추상화를 뜻합니다. 자바에서 추상화란 현실의 객체를 분석하여 클래스로 정의하고, 해당 클래스를 메모리 내의 실체(인스턴스)로 구현하여 사용하는 것을 뜻합니다. 그렇다면 현실의 객체를 어떻게 클래스로 정의하면 좋을까요? 예.. 2021. 1. 6.
자바 배열(Array) 배열 이란 같은 타입의 여러개의 변수를 하나의 묶음으로 다루는 메모리 공간입니다. 배열은 다음과 같은 특징이 있습니다. 같은 타입의 값들만 저장 가능 기본 데이터타입과 참조 데이터타입 모두 배열로 저장 가능 여러 개의 변수에 해당하는 메모리 공간이 연속된 공간에 차례대로 생성됨 한 번 생성된 배열은 크기 변경 불가능 배열은 선언, 생성, 초기화 3단계의 과정을 거쳐서 사용 배열 생성 시 자동으로 기본값으로 초기화 (int형 기본값 : 0, double형 기본값 : 0.0, boolean형 기본값 : false 등) 배열 생성 시 인덱스 번호가 자동으로 부여되며, 0 ~ 배열크기-1 까지 사용됨 배열명(변수명)을 사용하여 배열을 관리 가능(인덱스 번호 지정 필요) 배열 크기는 배열명.length 속성을 사.. 2021. 1. 5.
자바 for문, for문 구구단 출력 가장 기본적인 반복문으로 반복해야 할 횟수가 정해져 있을 때 주로 사용합니다. if 문과 마찬가지로 조건식이 true 일 때 문장을 실행하고 조건을 변경하고 변경된 내용을 다시 확인하여 false가 나오기 전까지 반복 실행합니다. for문 기본 문법 for(초기식; 조건식; 증감식) { // 조건식의 결과가 true 일 때 반복 실행할 문장들... } for 문이 진행되는 순서는 초기식을 정하고 초기식이 조건식에 부합하는지 확인합니다. 그 후 문장을 실행하고 증감식을 거칩니다. 다시 조건식에 부합하는지 확인합니다. 이 과정을 false가 나오기 전까지 반복합니다. for문 코드 예시 // for문을 활용한 구구단 출력 package hyuni; public class GugudanEx { public s.. 2021. 1. 5.
자바 if문, if문 예시 if문 if 조건문은 조건식과 실행 문장으로 구성되어 있습니다. 조건식은 boolean 타입인 true 또는 false를 반환하고 true 이면 블록을 실행하고 false 이면 실행하지 않습니다. 조건이 true 일 때 문장 1이 실행되고 false 이면 실행되지 않은 채로 문장 2가 실행됩니다. if문 코드 간단한 예제를 한번 보겠습니다. package hyuni; import java.util.Scanner; public class IfEx1 { public static void main(String[] args) { int money = 3500; if (money >= 3000) { // money가 3000원 이상일 경우 블록 안의 문장을 실행 System.out.println("택시를 타고 가.. 2021. 1. 5.
자바 기본형과 참조형 차이, 형변환 기본형 구분 자료형 예시 문자 char char exAlpha = 'A'; char gender = '남'; 숫자 정수형 byte, short, int, long int age = 20 long l = 450000000L; 실수형 float, double float f = 180.5f; double d = 80.9; 논리 boolean boolean isPowerOn = true; 나머지 Date, Person, String Date today = new Date(); Person p = new Person(); String name = "홍길동" 자바는 기본적으로 char, byte, short, int long, float, double, boolean에 해당하는 8개의 기본형(Primitive Ty.. 2021. 1. 5.
반응형