Java 3

[Java] 객체지향 프로그래밍2 (다형성, 추상클래스, 인터페이스)

다형성 다형성: 여러가지 형태를 가질 수 있는 능력 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현 조상 클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있다. 참조 변수가 가리킬 수 있는 멤버변수만 사용이 가능하다. 참조 변수의 타입이 참조변수가 참조하고 있는 인스턴스에서 사용할 수 있는 멤버의 개수를 결정한다. 조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있다. 반대로 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수 없다. 참조변수의 형변환 자손타입의 참조변수를 조상타입의 참조변수로, 조상타입의 참조변수를 자손타입의 참조변수로의 형변환만 가능하다. 형변환은 참조변수의 타입을 변환하는 것이지 인스턴스를 변환하는 것은 아..

Language/Java 2022.12.28

[Java] 객체지향 프로그래밍2 (상속, 오버라이딩, package, 제어자)

상속 정의 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 - 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다. - 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. - 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 장점 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. Ex. class Parent {} class Child extends Parent {} class Child2 extends Parent {} Child, Child2 클래스에 공통적으로 추가되어야 하는 멤버가 있다면, 두 클래스에 각각 따로 추가해주는 것보..

Language/Java 2022.12.24

[Java] 객체지향 프로그래밍1

객체지향 언어 객체지향 이론의 기본 개념 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상 세계를 구현하고 이 가상세계에서 모의실험을 함으로써 많은 시간과 비용을 절약할 수 있다. 객체지향 언어의 주요 특징 1. 코드의 재사용성이 높다. 2. 코드의 관리가 용이하다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 클래스와 객체 클래스: 어떤 문제를 해결하기 위한 데이터를 만들기 위해 추상화를 거쳐 집단에 속하는 속성과 행위를 변수와 메서드로 정의한 것으로 객체를 만들기 위한 메타정보 객체: 클래스에서 정의한 것을 토대로 실제 메모리에 ..

Language/Java 2022.12.14