분류 전체보기 501

파이썬 터틀 입력하기

import turtle t = turtle.Turtle() t.shape("turtle") 이것은 터틀을 화면에 입력하는 방법이다. 이것을 실습하게 된다면 코드는 이렇게 작성이된다. import turtle t = turtle.Turtle() t.shape("turtle") t.forward(100) t.left(90) t.forward(100) t.left(90) t.forward(100) t.left(90) t.forward(100) 이러한 그림이 그려지게 되는데 여기서 숫자들 100의 의미는 100Pixel만큼 움직인다는 뜻이고 left 90은 각도를 90도씩 꺾는다는 것이다.

자바 인터페이스(interface)

인터페이스란? 서로 다른 장치들이 연결되어서 상호 데이터를 주고받는 규격을 의미한다. 인터페이스는 특히 컴퓨터 주변 장치에 많다. 각자 클래스를 다른 사람의 클래스와 연결하려면 클래스 간의 상호작용을 기술하는 일종의 규격(조건)이 있어야 한다. 그래야만 클래스들이 서로 잘 접속될 것이다. 이러한 규격을 인터페이스(interface)라고 부른다. 인터페이스를 정의 하는것은 클래스를 정의하는 것과 유사하다. 다만 키워드 class를 사용하지 않고 interface를 사용한다. interface Drawable { void draw(); } // Drawable 인터페이스 안에는 draw() 추상 메소드만 정의 되어 있다. 즉 메소드 이름과 매개변수만 존재하고, 몸체가 없으며 세미콜론으로 종료된다. 참고로 인..

자바 실제 객체

실제 객체를 알고 싶다면? 어떤 참조 변수가 가리키는 객체의 실제 타입을 알고 싶으면 instanceof 연산자를 사용한다. 예를 들어서 앞의 도형 예제에서 Shape 참조 변수는 Rectangle, Triangle, Circle 타입의 객체를 모두 가리킬 수 있다. 경우에 따라서는 실제 타입을 알고 싶은 경우가 있다. 이런 경우에 instanceof 연산자를 사용한다. public class ShapeTest{ public static void main (String[] args) { Shape s = new Rectangle(); if ( s instanceof Rectangle ) { System.out.println("실제 객체는 Rectangle 이군요!"); } if ( s instanceof..

자바 상속과 다형성

다형성(polymorphism)은 "많은(poly) + 모양(morph)"이라는 의미로서 주로 프로그래밍 언어에서 하나의 식별자로 다양한 타입(클래스)을 처리하는 것을 의미한다. 즉, 똑같은 명령을 내리지만 객체의 타입이 다르면 서로 다른 결과를 얻을 수 있는 것이 다형성이다. 객체 지향 기법에서 하나의 코드로 다양한 타입의 객체를 처리하는 중요한 기술이다 = 동일한 코드로 다양한 타입의 객체를 처리할 수 있는 기법이다. 상속과 다형성 다형성은 상속을 통하여 구현된다. 예를 들어보자 class Shape { protected int x, y; public void draw() { System.out.println("Shape Draw"); } } // 각 도형들을 2차원 공간에서 도형의 위치를 나타내는 ..

자바 추상클래스

추상클래스란? 완전하게 구현되어 있지 않은 메소드를 가지고 있는 클래스를 의미한다. 메소드가 미완성되어 있으므로 추상 클래스로는 객체를 생성할 수 없다. 주로 상속 계층에서 추상적인 개념을 나타내기 위한 용도로 사용된다. 추상메소드의 예) abstract class Shape{ // 추상클래스 Shape을 선언한다. 추상 클래스로는 객체를 생성할 수 없다. int x, y; public void move(int x, int y){ // 추상클래스라고 하더라도 추상 메소드가 아닌 보통의 메소드를 가질 수 있다. this. x = x; this. y = y; } public abstract void draw(); // 추상 메소드를 선언한다. 추상메소드를 하나라도 가지면 추상클래스가 된다. 추상메소드를 가지..

자바 오버라이딩

이것을 "자식 클래스의 메소드가 부모 클래스의 메소드를 재정의한다"고 말한다. 메소드 재정의(method override)는 메소드 오버라이딩이라고 한다. 이때 메소드의 이름이나 매개 변수, 반환형은 동일하여야 한다. 팁. 재정의된 메소드 이름 앞에는 @Override 어노테이션을 붙이는 것이 좋다. 만약 부모 클래스에 그런 이름의 메소드가 없다면 컴파일러가 오류를 발생한다.

java 2019.04.11

(자바)상속 cf.호출

상속은 검증된 소프트웨어를 재사용할 수 있어서 신뢰성 있는 소프트웨어를 손쉽게 개발, 유지 보수할 수 있게 해주는 중요한 기술이다. 상속을 이용하면 여러 클래스에 공통적인 코드들을 하나의 클래스로 모을 수 있어서 코드의 중복을 줄일 수 있다. 상속의 형식 자바에서는 extends 키워드를 이용하여 상속을 나타낸다. 상속하는 클래스를 부모클래스(수퍼 클래스)라고 하고 상속받는 클래스를 자식클래스(서브 클래스)라고 한다. ex) class Cat extends Animal{ . ^ ^ . 자식클래스 부모클래스 } 무엇이 상속되는가? 자식 클래스는 부모 클래스가 가지고 있는 모든 멤버들을 전부 상속받고 자신이 필요한 멤버를 추가하기 때문에 항상 자식 클래스가 부모 클래스를 포함되게 된다. 상속을 나타낼 때 e..

java 2019.04.11