반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[JAVA] 추상 본문

728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

추상

 

 

💕공부파일 - Git 주소

자세한 코드 내용은 위의 git 주소를 확인해주세요.

 

<Player 추상클래스>

package Abstract;

abstract class Player {
	abstract void play(String songName);
	abstract void pause();
	abstract void stop();
}

<Main클래스>

Main클래스 생성 후 추상클래스 상속 후, 빨간 밑줄이 뜨는 곳에 마우스를 가져다대면 뜨는 문구에서 첫번째 문구(아직 구현이 안된 함수를 생성)를 클릭하여 자동 클래스 생성해줍니다.
Player이라는 추상클래스의 추상메서드들을 Main클래스가 상속을 받았기 때문에, 반드시 추상메서드에 들어갈 내용들을 구현해내야합니다.

각각의 세부기능을 구현하는 것이 아니라 추상클래스가 어떻게 사용되는지를 알기 위한 실습이므로,
각 추상메소드에 출력구문을 적용해줍니다. 그리고 메인메소드에 play("The Luckiest - Ben Folds");를 써서 추상메소드를 실행시키고자 하면 오류메시지가 뜹니다. static메서드에서 인스턴스메서드를 사용하려면 인스턴스를 생성후 참조변수를 이용하여 호줄해야합니다.
즉, Main main = new Main();  구문을 추가하고, main.play("The Luckiest - Ben Folds"); 이런식으로 참조변수를 통해 추상메소드를 실행시킬 수 있습니다.

아래의 다른 추상메소드들도 같은 참조변수를 통해 실행이 가능합니다.

 

두번째 예시를 들어봅시다.

<Animal 추상클래스>

 

<Dog 클래스>

위와 같이 빨간 밑줄에 마우스를 가져다대어 첫번째 문구를 클릭하여, 자동으로 추상메서드를 생성해줍니다.

<Cat클래스>

<Main2 클래스>

위와 같은 방법으로 그냥 추상메서드를 실행할 수 없으므로 각각의 인스턴스를 생성해주어 참조변수를 통해 추상메서드를 실행시켜줍니다. 그러면 아래와 같이 콘솔창에 내가 입력한 내용이 각각 출력되는 것을 확인할 수 있습니다.

 

+ 인스턴스를 생성하는 이유나 참조변수를 이용하여 추상메서드를 실행시키는 것이 이해되지 않는 분들은 아래 포스팅을 참고하시기 바랍니다.

https://yeoneeluv.tistory.com/317

 

[취업/면접] 인스턴스란(Instance)? (클래스, 인스턴스, 객체 차이점)

안녕하세요. https://blog.naver.com/sysysy0302 여니입니다 :) 붕어빵과 인스턴스를 비유하여 설명을 잘해두신 분의 포스팅을 참조하여 제 스타일로 바꾸어 포스팅을 적어보겠습니다. instance폴더에 해당

yeoneeluv.tistory.com

 

https://yeoneeluv.tistory.com/299

 

[취업/면접] static이란?

안녕하세요. https://blog.naver.com/sysysy0302 여니입니다 :) 오늘은 static 키워드에 대해 알아보겠습니다. 자바를 한번쯤 공부해본사람이라면 static키워드를 모르지는 않을 것입니다. 그런데도 이 추상

yeoneeluv.tistory.com

 

728x90
반응형
LIST