반응형

[ 선택자의 종류 ]


1. 태그 선택자


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <style media="screen">
      li{
        color : red;
      }
    </style>
    <title></title>
  </head>
  <body>
    <ul>
      <li>html</li>
      <li>CSS</li>
      <li>JavaScript</li>
    </ul>
  </body>
</html>
cs

 <style>태그에 값을 준다면 아래 결과와 같이 <body>에 있는 모든 태그들이 적용된다.


2. 아이디 선택자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <style media="screen">
      /* id선택자 */
      #select{
        font-size: 10px
      }
    </style>
  </head>
  <body>
    <ul>
      <li>html</li>
      <li id="select">css</li>
      <li>javascript</li>
    </ul>
  </body>
</html>
 
cs


 id선택자는 하나 하나 구분을 짓기 위해서 사용한다.

 한번 사용한 id선택자는 재활용하지 말아야한다.

 기술 방법 : #선택자이름



3. 클래스 선택자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <style media="screen">
      /* class선택자 */
      .deactive {
        text-decoration: line-through;
       }
    </style>
  </head>
  <body>
    <ul>
      <li class="deactive">html</li>
      <li>css</li>
      <li class="deactive">javascript</li>
    </ul>
  </body>
</html>
 
cs


 class선택자는 어떠한 대상을 관리하기 쉽도록 그룹화 하여 사용한다.

 코드 전체에서 여러번 사용할 경우...

● 기술방법 : .선택자이름


반응형
반응형

Stack 


▶ 여러 개의 데이터 항목들이 일정한 순서로 나열된 자료구조

▶ 한쪽 끝에서만 새로운 항목을 삽입하거나 기존의 항목을 제거할 수 있다.

(L)ast (I)n (F)irst (O)ut ==> LIFO방식

▶Vector 클래스를 상속받아서 구현된다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package stack;
 
import java.util.Stack;
import java.util.Vector;
 
public class StackTest {
    public static void main(String[] args) {
        // stack은 Vector를 상속받는다.
        //Vector<String> stack = new Stack<String>();
        
        Stack<String> s = new Stack<String>();
        
//        s.push("a");
//        s.push("b");
//        s.push("c");
//        
//        while(!s.isEmpty()) {
//            String value = s.pop();
//            System.out.println(value);
//        }
//        
//        s.pop(); // Exception occurs when stack is empty
 
        s.push("a");
        s.push("b");
        s.push("c");
        
        System.out.println(s.pop());
        System.out.println(s.peek()); // 제일 위에 어떤 값이 있는지 확인만 해줌, pop은 안함..
        System.out.println(s.pop());
    }
}
 
cs


Queue


▶ 리스트와 유사한 자료구조

▶ 항목들의 리스트에서 가장 마지막에 새로운 항목이 추가된다.

▶ 기존 항목의 제거는 리스트의 처음에서 일어난다.

(F)irst (I)n (F)irst (O)ut ==> FIFO방식

▶ LinkedList를 상속받아서 구현




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package queue;
 
import java.util.LinkedList;
import java.util.Queue;
 
public class QueueTest {
    public static void main(String[] args) {
        // Queue는 LinkedList를 상속받는다.
        // Queue ==> (F)irst (O)ut (F)irst (I)n
        // Queue는 KAFKA(Message Queue)에서 많이 사용한다.
        Queue<String> q = new LinkedList<String>();
        
        //데이터 삽입
        q.offer("a");
        q.offer("b");
        q.offer("c");
        
        // 데이터 출력
        while(!q.isEmpty()) {
            String value = q.poll();
            System.out.println(value);
        }
    }
}
 
cs


반응형
반응형

[Java]Overriding/Overloading이 뭐야? 같은거 아냐?


는 절대 아니다.

둘의 공통점을 꼽자면 객체지향 4대 특징 중 하나인 다형성을 지원한다는 점이다.



Overriding(오버라이딩)?

상속받은 자식 클래스에서 부모 클래스의 필드 또는 메소드가 마음에 들지 않아 재정의할 경우 

이것을 Override(오버라이딩)라고 한다.

여기서 상속이란?

부모가 자식에게 물려주는 행위를 일컫는데..

이미 잘 개발된 클래스를 재사용해서 새로운 자식 클래스를 만들기 때문에 코드의 중복을 줄여준다.




Overloading(오버로딩)?

오버로딩은 메소드 오버로딩과 생성자 오버로딩 두가지가 있다.

이 두가지를 함수적 측면에서 본다면 같은 의미이다.


오버로딩은 같은 함수명으로 함수를 여러번 정의할 수 있는데 단, 조건이 있다.

오버로딩의 조건

1. 같은 함수명

2. 다른 유형과 개수의 매개변수


반응형

'Programming Language > JAVA' 카테고리의 다른 글

[Java] Stack & Queue  (4) 2019.01.04
[Java] final 넌 누구냐?!  (2) 2018.12.27
[Java] 접근 제한자(Access Modifier)에 대해서 알아보자  (2) 2018.12.27
[급여관리 프로그램(Has~A 만)  (24) 2018.07.16
[Java]Enum  (0) 2018.07.12
반응형

final이 가진 의미는 필드, 메소드, 클래스에 따라 각각 달라진다.


1. 필드에 final이 붙으면?

1
public final int A = 1234;
cs

상수를 뜻한다.

개발자들끼리의 약속으로 상수는 모두다 대문자로 지정해야한다.



2. 메소드에 final이 붙으면?

1
2
3
public final void func() {
        // Override 금지
}
cs


Override 금지!!


3. 클래스에 final이 붙으면?


대표적인 final 키워드가 붙은 클래스이다.

클래스에 final 키워드가 붙는다면 다른 클래스에서 해당 클래스를 상속 금지한다.




끝-

반응형
반응형

접근 제한자(Access Modifier)는 외부에서 해당 클래스에 접근할 수 있는 정도를 말한다.


외부에서 모두 접근할 수 있는 public부터 자기 자신만 접근 가능한 private까지 4가지의 접근 지정자가 존재한다.



4가지의 접근 제한자를 그림으로 표현하면 다음과 같다.





1. 모두 다 접근 가능한 public


public은 내부 외부에서 모두 접근이 가능하다. 

적용할 수 있는 범위 >> 클래스, 필드, 생성자, 메소드



2. 자식만 접근 가능한 protected


protected는 상속 받은 자식 클래스에서만 접근이 가능하다.

자식 클래스가 아닌 다른 패키지에 소속된 클래스는 접근이 불가능하다.

적용할 수 있는 범위 >> 필드, 생성자, 메소드



3. 나의 패키지 내에서만 접근 가능한 default


클래스를 선언할 때 public을 생략했다면 알게 모르게 클래스는 default 접근 제한을 가진다.

default는 같은 클래스 내에서만 접근이 가능하다.

다른 클래스는 접근이 불가능하다.

적용할 수 있는 범위 >> 클래스, 필드, 생성자, 메소드



4. 나 빼고 아무도 안돼 private


private는 모든 외부 클래스에서 접근이 불가능하다.

적용할 수 있는 범위 >> 필드, 생성자, 메소드

필드를 private로 설정했다면 public 접근 제한자를 가진 getter, setter 메소드를 통해서만 외부와 공유 가능하다.



반응형

'Programming Language > JAVA' 카테고리의 다른 글

[Java]Overriding / Overloading이 뭐야? 같은거 아냐?  (2) 2018.12.27
[Java] final 넌 누구냐?!  (2) 2018.12.27
[급여관리 프로그램(Has~A 만)  (24) 2018.07.16
[Java]Enum  (0) 2018.07.12
클래스 구성요소  (0) 2018.07.10
반응형

다른 Git에 있는 프로젝트 fork해서 이클립스에서 작업하기



구글링 중에 Git에 좋은 프로젝트를 발견한 경우가 있을 것이다.

이 프로젝트를 내 저장소로 fork해 와서 작업하거나 참조하고 싶을 경우 이 글을 참조하면 될 것이다.


Git에서 fork란?

다른 원격 저장소에 있는 히스토리를 그대로 나의 git 원격 저장소에 복사하는 것을 말한다.


fork하는 방법


필자는 현재 강의를 듣고 있으므로 강사님의 git에서 fork한다.

1. 원하는 Git Repository에 간다.

상단에 fork 클릭


다른화면으로 잠시 넘어갔다가 자신의 Git으로 넘어오게 되고 fork한 Repository가 뜬다.



2. 여기서 초록색 버튼 Clone or download 클릭




경로 주소를 복사하거나 또는 동그라미 친 버튼을 클릭한다.


3. 이클립스를 실행시키고 Git Repositories에서 

빈 공간 어디든 클릭 또는 마으수를 올려두고 ctrl + v하면


이 화면이 뜬다.


URL확인 후 곧바로 Next 클릭


Next 클릭


★여기서 주의 해야한다.★


Directory가 자신의 이클립스 워크스페이스 경로로 지정되어있는지 확인하고 아니라면 Browse 클릭하여 자신의 경로로 맞춰준다.


확인하고 Finish클릭



4. Git Repositories에서 가져온 Repository확인한다.


5. 프로젝트를 수정 작업 하기 위해서 import project를 해야하는데 방법은 아래와 같다.

Repository 우클릭

Import Projects클릭



Finish클릭하면 Package Explorer에 프로젝트가 import된 것을 볼 수 있다.




끝-

반응형

'Git' 카테고리의 다른 글

[Git] Repository 삭제  (2) 2018.12.27
[Git] 이클립스에서 Git에 push하기  (2) 2018.12.27

+ Recent posts