Skip to content

Commit

Permalink
1주차 한상윤 과제
Browse files Browse the repository at this point in the history
  • Loading branch information
0702Yoon committed Sep 24, 2023
1 parent 64f0b66 commit 67e984f
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions week01/한상윤.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,14 @@
인터페이스는 class로 정의되지 않고 interface로 정의가 되며 모든 멤버 메서드는 추상 메서드로 선언이 된다. 이 인터페이스 또한 상속을 강요한다. 이것을 사용하는 이유는 큰 틀을 제공하기 위함이다. 즉 설계도라고 보며 된다. 인터페이스에 있는 추상 메서드들이 무조건 상속받은 클래스에서 메서드들이 재정의되게 할 수 있다. 추상클래스는 상속받은 하위클래스에게 이것을 베이스로 추가적인 기능에다가 자신만의 구체적인 기능을 제공하고 인터페이스는 상속받은 하위클래스에게 어떤 것들이 포함되어야하는 지 강제로 다 구현하도록 하는 것이다. 차이점으로는 추상 클래스에서는 일반적인 필드와 메서드들이 포함 될 수 있다. 하지만 인터페이스는 모든 메서드들이 추상 클래스이다. 그리고 추상 클래스는 1개만 상속 될 수 있지만 인터페이스는 여러개를 상속받을 수 있다. 또 인터페이스에서 필드를 정의하면 그 필드는 public final static이 암시적으로 적용된다. 추가로 인터페이스 끼리 extends가 된다.

* Java Enum에 대해 설명해주세요.
자바에는 상수라는 개념이 존재한다. 상수는 변하지 않는 값으로 정의된다. 1은 1로 무조건 고정인 것처럼 final이라는 키워드를 사용하면 변수들도 상수처럼 사용할 수 있다. 그럴 때 문제가 생기는 것이 변수를 상수 취급을 하는 데 같은 상수 값을 가진 변수라면 다른 변수임에도 불구하고 같은 값으로 인식이 된다. 그것을 해결할 수 있는 방법으로는 연관된 상수들을 모아 클래스로 만들고 각각의 객체를 만드는 것이다. 그러면 그것들은 각자 다른 객체가 되어 상수로 취급되면서 고유한 값을 가질 수 있게 된다. 하지만 이럴 경우에 매번 그렇게 만들기도 그렇고 case문을 사용할 때 조건에 들어 갈 수 없다는 문제가 있다. 그래서 나온 것이 Enum이다. Enum은 연관된 상수들의 집합을 쉽게 만들기 위한 문법인 것이다.
![Alt text](image-1.png)
이 두 코드는 동일하다. 여기서 끝이 아니라 생성자,메서드 또한 구현이 가능하다.
![Alt text](image-2.png)
이것을 통해 상수로 취급하고 싶은 변수들을 독립적이고 집합적으로 만들 수 있다.
자바에는 상수라는 개념이 존재한다. 상수는 변하지 않는 값으로 정의된다. 1은 1로 무조건 고정인 것처럼 final이라는 키워드를 사용하면 변수들도 상수처럼 사용할 수 있다. 그럴 때 문제가 생기는 것이 변수를 상수 취급을 하는 데 같은 상수 값을 가진 변수라면 다른 변수임에도 불구하고 같은 값으로 인식이 된다. 그것을 해결할 수 있는 방법으로는 연관된 상수들을 모아 클래스로 만들고 각각의 객체를 만드는 것이다. 그러면 그것들은 각자 다른 객체가 되어 상수로 취급되면서 고유한 값을 가질 수 있게 된다. 하지만 이럴 경우에 매번 그렇게 만들기도 그렇고 case문을 사용할 때 조건에 들어 갈 수 없다는 문제가 있다. 그래서 나온 것이 Enum이다. Enum은 연관된 상수들의 집합을 쉽게 만들기 위한 문법인 것이다.

![Alt text](image-1.png)

이 두 코드는 동일하다. 여기서 끝이 아니라 생성자,메서드 또한 구현이 가능하다.
![Alt text](image-2.png)

이것을 통해 상수로 취급하고 싶은 변수들을 독립적이고 집합적으로 만들 수 있다.

* 객체지향이란 무엇일까요? 객체지향을 지키면 어떤 이점을 얻을 수 있나요?

Expand Down

0 comments on commit 67e984f

Please sign in to comment.