본문 바로가기
수업내용

20230502 국비학원😁

by titlejjk 2023. 5. 2.

canvas 요소 활용해 보기

canvas요소는 width와 height를 속성으로 직접 지정할수 있다.

canvas요소는 그림을 그릴수 있는 요소이다. 직선, 원, 타원, 사각형 로딩한 이미지 등등을 원하는 위치에 원하는 크기로 그릴 수 있다.

좌표계는 좌상단을 기준으로 그려진다. 이 좌표계는 원한다면 이동 및 회전도 가능하다.

canvas를 활용해 스코프만들기

이클립스에서 만들고 있던 자바파일들을 복사를 하려면 이클립스 내에서 복사하고싶은 해당 폴더를 오른쪽 클릭 한 후에 

Export를 누르고 

General 에서 File System을 누르고 Next를 누른다.

그 다음 복사하고싶은 해당 파일을 체크해준후 To directory에서 복사하고 싶은 폴더를 선택해준 후에 Finish를 누르면 복사가 완료된다.

복사된 파일이나 다른 자바 프로젝트를 가져오고 싶다면 import를 하면된다.

에서 import를 눌러준 후에

General에서 Existing Projects into Workspace를 눌러 준 후에 Next

를 하고 나서 Select root directory를 눌러 copy하고싶은 폴더를 찾아서 지정해 준 후에 반드시 Copy projects into workspace를 체크해준 후에 import를 실행하면 된다. Copy projects into workspace를 체크하지 않으면 복사하고 싶은 해당 폴더에서 작업이 이루어지기 때문에 반드시 체크를 해주어야 한다.

자바의 다형성

다형성(polymorphism)은 객체 지향 프로그래밍에서 중요한 개념 중 하나이다. 다형성은 같은 타입이지만 다른 기능을 하는 객체들을 이용하여 코드를 효율적으로 작성할 수 있게 해준다.

다형성을 이해하기 위해서는 먼저 클래스 상속과 인터페이스에 대한 이해가 필요하다. 상속을 이용하여 부모 클래스의 속성과 메소드를 자식 클래스에서 재활용할 수 있고, 인터페이스를 이용하여 클래스 간의 관계를 정의할 수 있다. 이러한 상속과 인터페이스를 이용하여 다형성을 구현할 수 있다.

다형성은 하나의 객체가 여러 가지 타입을 가질 수 있는 능력을 말한다. 즉, 자식 클래스들이 부모 클래스의 메서드를 재정의(오버라이딩)하고, 부모 타입의 객체에서 자식 멤버를 참조하여 다양한 기능을 구현하는 것이다. 이를 이용하면 부모 클래스의 타입으로 자식 클래스 객체를 참조할 수 있어서 코드의 유연성과 확장성을 높일 수 있다.

 

클래스에는extends라는 예약어를 사용할수있다. 이를 이용하여 다른 클래스를 상속받아서 클래스를 만들수 있다. 상속을 받았기에 우리가 작성하려는 코드를 다시 정의할 필요가 없다. 이를 이용해 추가적으로 필요한 기능만 만들 수 있다.

 

자바에서 extends는 상속을 구현하는 예약어이다. 상속은 클래스 간의 관계를 맺어주는 개념으로, 부모 클래스의 필드와 메서드를 자식 클래스에서도 사용할 수 있도록 물려받는 것이다. 부모 클래스로부터 상속받은 자식 클래스는 부모 클래스의 자원을 사용할 수 있으며, 부모 클래스를 확장하여 새로운 클래스를 만들 수 있다. 상속을 통해 코드의 중복을 감소시키고 유지보수 시간을 줄일 수 있다. 이런 상속은 단 하나만 받을 수 있다. 한번에 두개를 상속 받을 수 없다.

MainClass01에서 HandPhone이라는 클래스의 메소드와 Phone에서의 메소드 모두를 사용할 수 있다.

어떤 객체를 부모타입으로 받으면 코드가 유연해진다.

어떤 클래스도 상속받지 않으면 자동으로 extends Object된다.

이렇게 되면 상속관계는 Object > Phone > HandPhone 순으로 부모 자식관계를 갖는다(Object가 부모)

고로 자식 객체이 참조값은 부모 type 변수나 필드에 자연스럽게 담긴다.

자바에서 super는 자바에서 사용되는 예약어 중 하나로, 부모 클래스의 멤버를 자식 클래스에서 참조할 때 사용된다.

super를 사용하면, 자식 클래스에서 부모 클래스의 생성자를 호출할 때도 사용가능하다.

  • 자식 클래스에서 부모 클래스의 멤버를 참조할 때
  • 자식 클래스에서 부모 클래스의 생성자를 호출할 때

override👉

자바에서 메소드 오버라이딩이란, 상속의 관계에 있는 클래스 간에 하위클래스가 상위클래스와 '완전 동일한 메소드'를 덮어쓴다는 의미이다. Override는 '기존 것을 무시하고 덮어쓰다.'라는 의미를 가지며, 부모 클래스의 메소드를 자식 클래스에서 재정의할 때 사용된다.

메소드 오버라이딩을 하려면 서브 클래스에 슈퍼 클래스 함수와 동일한 이름으로 정의되어야 한다. 

오버로딩(Overloading): 같은 이름의 메소드를 여러 개 정의하고, 매개변수의 개수나 타입을 다르게 해서 사용하는 것.
오버라이딩(Overriding): 상속 관계에서 부모 클래스의 메소드를 자식 클래스에서 재정

 

-접근 지정자 접근 범위

public : 어디에서나 접근 가능

protected : 동일한 package 혹은 상속관계에서 자식에서 접근 가능

default : 동일한 package 안에서만 접근 가능

private : 동일한 클래스 혹은 동일한 객체 안에서만 접근 가능

 

-접근 지정자를 붙이는 위치

 

1. 클래스를 선언 할때

2. 생성자

3. 필드

4. 메소드

클래스 default 와 public 두 가지의 접근 지정자만 지정 가능하다.

접근 지정자를 생략한 것이 default 접근 지정자다.

추상클래스

추상클래스는 new생성자가 안된다.

댓글