java 36

추상클래스 & 인터페이스

이미지 출처 : https://learn-tech-tips.blogspot.com/2016/07/object-oriented-programming-abstract-class-vs-interface.html 추상 클래스abstract class 추상 클래스란? 미완성 클래스 즉, 완성되지 않은 abstract 메서드를 포함하고 있는 클래스라는 뜻이다. 추상 메서드abstract method 메서드는 선언부와 구현부로 나눈다. 선언부만 있고 구현부는 작성하지 않은 메서드를 추상 메서드라고 부른다. 추상 클래스를 상속받는 자손 클래스는 부모 클래스가 가진 모든 추상 메서드를 구현해야만 한다. 추상 클래스는 해당 클래스를 상속 받을 자손들이 사용하는 공통 부분을 뽑아내서 정의한다. 추상 클래스를 사용하는 이유는..

Java 2020.09.09

다형성Polymorphism

📚 자바의 정석을 정리한 내용입니다. 다형성? 운전하는 법은 한 번만 배우면 어떤 자동차든 운전할 수 있다. 자동차 브랜드나 내부 구현에 따라 달라지지 않는다. 동일한 인터페이스를 가지고 있기 때문이다. 이게 다형성이다. OOP에서 다형성이란 여러가지 형태를 가질 수 있는 능력. 말하자면 조상클래스 타입의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있는 것이다. class Tv { boolean power; int channel; void power{ power = !power;} void channelUp() { ++channel;} void channelDown() { --channel;} } class CaptionTv extends Tv { String text; void caption() {..

Java 2020.09.06

상속Inheritance

📚 자바의 정석을 정리한 내용입니다. 상속Inheritance 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 코드를 공통적으로 관리할 수 있기 때문에 유지보수 하기 쉽다. class Child extends Parent { //... } extends만으로 간단하게 상속 받을 수 있다. 상속해주는 클래스Parent를 조상 클래스, 상속을 받는 클래스Child를 자손 클래스라고 한다. 이 두 관계를 상속관계라고 부른다. 출처 : https://www.javatpoint.com/inheritance-in-java 조상클래스는 자손 클래스가 변경 되어도 영향을 받지 않지만, 조상클래스가 변경되면 자손 클래스는 영향을 받는다. 자손 클래스는 조상 클래스의 모든 멤버를 상속 받는다. 따라서 항상 조..

Java 2020.09.06

제어자Modifier

📚 자바의 정석을 정리한 내용입니다. 제어자Modifier Non-Access-Modifiers 접근 제어자가 아닌 제어자들로는 static, final, abstract, synchronized......등이 있다. 몇 가지만 소개한다. static 멤버변수, 메서드, 초기화 블럭 앞에 붙는다. static이 변수에 붙으면 모든 인스턴스에서 공통으로 사용되는 클래스 변수가 된다. 메서드에 붙으면 인스턴스 생성없이 호출할 수 있는 static 메서드가 된다. final 클래스, 메서드, 멤버변수, 지역변수에 붙는다. final이 붙으면 수정할 수 없는 메서드, 변수, 클래스가 된다. 즉, final변수는 값을 변경할 수 없는 상수. final method는 오버라이딩 불가. final class는 ext..

Java 2020.09.06

객체지향1

📚 자바의 정석을 정리한 내용입니다. 객체지향 코드 재사용 유지보수 용이 신뢰성 높은 프로그래밍 클래스와 객체 클래스란 객체를 정의해놓은 일종의 설계도다. 도대체 클래스를 왜 만드는데? 클래스는 일종의 부품이 아닐까? 이를테면 거대한 우주선을 만든다고 하자. 수만가지의 부품이 필요하다. 그렇다고 우리가 그 많은 부품들 직접 만들어서 쓰지 않는다. 이미 누군가 만들어놓은 부품을 그대로 가져와서 쓰는 것이 (합리적이랄 것도 없이)당연한 선택이다. 물론 없는 부품은 직접 만들 수도 있다. 사용자 정의 타입처럼. 아무튼. 클래스로 객체를 만드는 과정을 클래스의 인스턴스화라고 한다. 만들어진 클래스를 우리는 객체(=인스턴스)라고 부른다. 객체의 구성요소 속성property과 기능function이 있다. prope..

Java 2020.09.06

Java란?

📚 자바의 정석을 정리한 내용입니다. 자바란? 썬 마이크로 시스템즈Sun Microsystems에서 개발하여 1996년 1월에 발표된 객체지향 프로그래밍 언어 이 분이 자바를 만든 제임스 고슬링James Arthur Gosling이다 특징 JVM(Java Virtual Machine)을 이용하기 때문에 운영체제에 독립적 객체지향언어(순수하지는 않은 듯) 자동으로 메모리를 관리하는 Garbage Collection JVM Java Virtual Machine. 자바로 만든 애플리케이션은 모두 JVM 위에서 실행된다. 따라서 OS만 거쳐서 컴파일되는 언어에 비해 약간 느리다는 단점이 있다. (byte code를 바로 기계어로 변환해주는 JIT컴파일러 도입으로 지금은 많이 개선됨) 대신, OS에 종속적이지 않..

Java 2020.09.06