Computer Science/Java 15

[Java] - Eclipse 프로젝트 Github 연동

프로젝트 우클릭 -> Team -> Share Project Use or create repository 체크 -> 프로젝트 선택 -> Create Repository 버튼 클릭 Finish 클릭 왼쪽 메뉴바 프로젝트에 master 라는 표시와 물음표가 생김. --> 비어있는 로컬 저장소가 하나 생김 [ 확인해 보기 ] 프로젝트 우클릭 -> Show in -> System Explorer C:\Users\user\eclipse-workspace\Calender 위치에 .gitignore이 생겼으면 git project로 관리하겠다는 뜻으로 된 것이다! [ 프로젝트 로컬 깃 저장소에 추가하기 ] Add 와 Commit을 통해 로컬 깃 저장소에 저장해줍시다. 프로젝트 우클릭 -> Team -> Add to ..

Java - 다형성

다형성(Polymorphism)은 부모 클래스를 정의한 다음 자식 클래스가 부모 클래스를 상속받아 자식 클래스 만의 특징을 쉽게 변경-관리 할 수 있다는 특징이 있습니다. 즉, 하나의 메소드/클래스만으로 다양한 기능을 만들어낼 수 있다는 특징이 바로 다형성입니다. 여기서 해볼 예제로는 부모클래스의 경우 과일 클래스를 만들어주고 자식 클래스로 바나나와 복숭아 클래스를 만들어 과일 클래스를 상속받아올 것입니다. 과일 클래스 1 2 3 4 5 6 7 8 9 10 11 12 public class Fruit { String name; int price; int fresh; public void show() { System.out.println("이름 : "+name); System.out.println("가격 ..

Java - 인터페이스

Java에서 인터페이스의 특징이라면 추상화보다는 더 설계적 기능을 강조하고 있다는 것과 다중 상속이 가능하다는 것입니다. 여기서 더 설계적이라는 뜻은 추상화의 경우 추상 메소드 이외의 일반 메소드 및 변수를 포함할 수 있지만 인터페이스의 경우 정말 추상 메소드와 상수만을 포함할 수 있다는 것입니다. 위 예와 같이 인터페이스에서는 추상 메소드는 에러가 뜨지 않지만 일반 메소드 Howling() 밑에는 빨간색 줄(에러)이 뜨는 것을 볼 수 있습니다. (*Java 8을 기준으로 default 메소드가 사용가능해지면서 예를 들어 default void Howling(){ System.out.println("왈왈"); } 위와 같이 default를 사용해준다면 인터페이스에서도 메소드의 내용을 채울 수 있게 되었습..

Java - Final

Java 에서 Final은 재정의가 불가능하게끔 즉 2번 이상 할당하려 할 때 오류가 발생하게끔 하는 키워드입니다. 마치 constant 와 같은 역할을 합니다. final int num; 과 같이 변수에 사용할 수도 있고 public final void 메소드명 과 같이 메소드에도 사용됩니다. class에도 사용이 가능한데요, final class 클래스명 과 같이 클래스를 정의하게 된다면 해당 클래스는 다른 클래스가 상속받을 수 없게 됩니다. 즉, 부모 클래스가 되지 못한다는 뜻입니다.

Java - 추상화

추상화에 대해 예제를 통해 알아보겠습니다. 추상화는 마치 설계를 하는 것과 같은 느낌입니다. 구체적인 내용은 하위 클래스에서 정의하고 대략적인 그림만 알려주는 것이 추상화입니다. Java를 공부하면서 확실히 C보다 협업에 최적화되어있다는 느낌을 많이 받네요.. 1 2 3 4 5 6 abstract class Player {//abstract :: 추상 클래스임을 알려줌 abstract void play(String songName); abstract void pause(); abstract void stop(); } Colored by Color Scripter cs 음악 재생 클래스를 구현한다고 가정해봅시다. 그렇다면 3가지 기능 play, pause, stop 기능을 넣을것임을 추상화 클래스에 선언해..

Java - 상속

상속에 대해 예제로 알아봅시다. 꿀팁이 있다면 private 변수에 대한 get,set 메소드를 자동으로 생성해주는 기능이 있다는 것입니다. 우클릭 -> Source -> Generage Getters and Settlers 이후 생성하고자 하는 변수 선택(저의 경우 이미 사용할 변수를 다 선언해놨기 때문에 Select All) 그 결과로 private 변수들에 대한 set(), get() 메소드가 자동으로 생성됩니다. 생성자 또한 메소드 처럼 자동으로 만들어줄 수 있습니다. 우클릭 -> Source -> Generate Constructor using Fields 다음으로 Person class를 상속받을 Student class를 생성해줍시다. (Person class는 추상클래스이기 때문에 추후에 ..