Language/Java 6

[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

[Java] JVM, JRE, JDK 간단 정리

✅ JVM Java virtual machine : 자바를 실행하기 위한 가상 컴퓨터 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻 자바로 작성된 애플리케이션은 모두 JVM에서만 실행되기 때문에, 자바 애플리케이션을 실행하기 위해서는 반드시 JVM이 필요 일반 애플리케이션은 OS에 종속적 → 애플리케이션을 다른 OS에서 실행시키기 위해서는 그 OS에 맞게 애플리케이션을 변경해야함 Java 애플리케이션은 JVM 하고만 상호작용하기 때문에 OS와 하드웨어에 독립적 → 다른 OS 에서도 프로그램의 변경없이 실행이 가능 단 JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요 썬에서는 일반적으로 많이 사용되는 주요 OS용 JVM을 제공한다. ✅ JRE Java Runtime..

Language/Java 2022.11.13

[Java] 자바란? 자바언어의 특징

✅ 자바란? 썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어 운영체제에 독립적이다. 운영체제에 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어 객체지향개념의 기존 언어 C++의 장점을 채택하는 동시에 잘 사용되지 않는 부분은 제외시킴으로써 C++보다 배우기 쉽다. 풍부한 클래스 라이브러리를 통해 프로그래밍에 필요한 요소들을 기본적으로 제공한다. ✅ 자바 언어의 특징 📌 운영체제에 독립적 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도..

Language/Java 2022.11.13