객체 지향 프로그래밍은 객체를 프로그램의 기본 단위로써 나누고 그 객체들이 상호 작용 하는 프로그램이라 배웁니다.

그렇다면 여기서 말하는 객체란 정확히 무엇일까요? 함께 학습이 필요한 클래스와 인스턴스도 같이 알아보겠습니다.

 

 

클래스(Class)

 - 객체가 정의된 '설계도'

 - 객체를 생성 하기 위해서 클래스가 꼭 필요함

 - 객체의 생성을 위한 용도이지 객체로써 직접 사용 할 수 없음

 

객체(Obejct)

 - 클래스를 이용해 만들어진 객체

 - 모든 인스턴스는 객체에 포함됨

 

인스턴스(Instance)

 - 인스턴스화는 클래스로부터 객체를 만드는 과정임. ex) Unit unit = new Unit():

 - 클래스를 사용해서 만들어진 객체를 '인스턴스 객체'라고 부름

 - 모든 인스턴스는 객체에 포함됨

 

 

아래 코드를 보면 이해를 좀 더 쉽게 할 수 있습니다.

우선 class Unit 에서 다양한 변수 및 메소드를 설정 할 수 있습니다. 이 과정을 설계도에 작업이라 생각 하시면 됩니다.

그리고 메인 클래스에서 Unit marine = new Unit()은 클래스를 인스턴스화 하는 부분입니다.

그 인스턴스를 포함하고 있는 부분은 ClassInstanceObject인 객체입니다.


// 큰 의미의 객체와 인스턴스
public class ClassInstanceObject {
	public static void main(String[] args) {
		// 클래스를 인스턴스화 하고 있는 부분
		Unit marine = new Unit();
		Unit medic = new Unit();
	}
}

// 클래스 (설계도)
class Unit {
	
}

OOP의 4대 특성중에는 상속(Inheritance)이 있습니다. 이는 코드의 재사용과 확장성을 용이하게 해줍니다.

 

상속의 특징

 - 상속 되는 클래스를 부모 클래스 및 Super 클래스라 하고, 그 반대는 자식 클래스 및 Sub 클래스라고 합니다.

 - 자식 클래스는 부모 클래스에 정의된 변수나 메소드를 사용 할 수 있습니다.

 - 부모 클래스의 변수나 메소드의 접근 제어자가 private이면 사용 할 수 없습니다. (protected는 자식에게만)

 - 하지만 부모 클래스는 자식 클래스의 변수나 메소드를 사용 할 수 없습니다.

 - 2개 이상의 클래스를 부모 클래스를 상속 받을 수 없습니다. 오직 하나만 상속 받을 수 있습니다.

 - 기본적으로 모든 클래스는 Object를 상속 받고 있습니다.(extends Object를 굳이 안 해줘도 됨)

 

 

상속의 사용법

 - 자식 클래스명 옆에 extends 키워드와 함께 부모 클래스명을 입력 하시면 됩니다.

main 메소드에서 Unit클래스를 상속받은 marine 인스턴스는 createdUnitMsg()와 createdBionicUnitMsg()를 사용 할 수 있습니다.

public class Inheritance {
	public static void main(String[] args) {
		Bionic marine = new Bionic();
		marine.createdUnitMsg();
		marine.createdBionicUnitMsg();
	}
}

class Bionic extends Unit {
	public void createdBionicUnitMsg() {
		System.out.println("created a bionic unit");
	}
}

class Unit {
	public void createdUnitMsg() {
		System.out.println("created an unit");
	}
}

웹페이지 개발을 보다 동적으로 하기 위해 제이쿼리를 사용하는데

이때 문서 객체 구조 요소를 선택하기 위해 '선택자'를 이용합니다.

선택자와 사용법 입니다.



 선택자

사용 예시 

설명 

$("*") 

전체 요소 선택 

 #

$("#id") 

id를 가진 요소 선택

 .

$(".class") 

class를 가진 요소 선택

 다중 #

$("#id1", "#id2") 

id1, id2를 가진 요소 선택 

다중 .

$(".class1", ".class2") 

class1, class2를 가진 요소 선택 

 element

$("p") 

<p> 태그에 해당되는 요소 선택 

$("div") 

<div> 태그에 해당되는 요소 선택 

 $("body")

<body> 태그에 해당되는 요소 선택 

다중 element 

$("p", "div", "body") 

각 태그에 해당되는 요소 선택

:first

$("li:first")

li의 첫번째 요소 선택 

:last

$("li:last")

li의 마지막 요소 선택 

:even

$("li:even")

li의 짝수번째 요소 선택 

:odd

$("li:odd")

li의 홀수번째 요소 선택 

parent()

$("요소").parent() 

선택 요소의 부모 요소 선택 

parents()

$("요소").parents() 

선택 요소의 전체 상위 요소 선택 

:eq(n) 

$("요소:eq(0)") 

요소 자식의 인덱스n 요소 선택 


+ Recent posts