HTML 공부2.

 

HTML공부 2번째입니다. 파이팅합시다!!

 

이번글은 글자 크기에 대해서 공부를 해볼께요 ^^

메모장에다가 입력하시는거 아시죠??^^

 

 

<html>

<head>

<title> OracleJava공부하기</title>

</head>

<body>

글자크기 연습입니다.

 

<h1> h1의 글자크기입니다.</h1>

<h2> h2의 글자크기입니다.</h2>

<h3> h3의 글자크기입니다.</h3>

<h4> h4의 글자크기입니다.</h4>

<h5> h5의 글자크기입니다.</h5>

<h6> h6의 글자크기입니다.</h6>

</body>

</html>

 

저장은 html공부2.html 로 하였습니다. ^^

 

결과를 볼까요??

 

 

 

 

글씨가 제대로 보이지 않네요 ㅠㅠ 나름 최선을 다했지만 ㅠㅠ

글씨크기는 h1이 제일 크고 숫자가 커질 수록 글자크기는 작아진다는 사실!! 기억하세요 ^^

 

 

 표준웹 실무교육 - www.oraclejava.kr 로 확인해 보세요 ^^

HTML 공부2.

 

 

'웹표준' 카테고리의 다른 글

[HTML 공부하기 5] <p align="위치" >  (0) 2014.05.26
HTML 공부하기 4] <pre> 태그  (0) 2014.05.24
HTML공부하기 3 ] <br> 태그, <p> 태그  (0) 2014.05.24
HTML 공부 1.  (0) 2014.05.21
HTML개념 & 구성요소  (0) 2014.05.19

HTML 공부 1.

 

HTML을 공부해 보겠습니다.

메모장으로 연습을 할겁니다. 시작이 반이라 했으니 다들 퐈이팅하자구요 ^-^

 

실행하기.

<html>
<head>
<title>
OracleJava공부하기
</title>
</head>
<body>

html공부하기1
</body>
</html>

 

 

<html>, <head>, <title>, <body> 이 네가지는 html의 기본 요소로 지난글에서도 이야기를 했습니다.

 

저장은 html공부1.html로 저장을 했습다.

 

결과.

 

 

 

간단하게 html 공부 1 의 작성하였습니다.

차근차근 다음글에서 만나요..

 

 

 

잠깐만요!! 웹퍼블리싱 초급과정 보고가실까요?? ^^

과정명

초보자를위한웹퍼블리싱 기초부터 실무과정

[평일단기]

강좌일정

6/23 ~ 6/27

09:30 ~ 18:30

내용을 자세하게 보시려면 클릭을 눌러주세요 ^^

 

'웹표준' 카테고리의 다른 글

[HTML 공부하기 5] <p align="위치" >  (0) 2014.05.26
HTML 공부하기 4] <pre> 태그  (0) 2014.05.24
HTML공부하기 3 ] <br> 태그, <p> 태그  (0) 2014.05.24
HTML 공부2.  (0) 2014.05.22
HTML개념 & 구성요소  (0) 2014.05.19

[WPF공부하기4]Simple C# Program

 


 

// A simple C# Program

using System;

namespace FirstCS

{

class simpleClass

{

public static void Main(string[] args)

{

Console.writeLine("First C# Program")

Console.ReadLine();

}

}

}

 

이름을 쓰는 법

 

* Namespace.class.method

 

ex) System.Console.WriteLine();

 

이름 짓기

namespace

* 되도록 유일한 이름을 포함할것.

 

클래스

* 문제를 해결하는 객체의 이름을 사용

 

좋은예) Console, ShoppingCart

나쁜예) write

 

메소드

* 동작을 나타내기 때문에 주로 동사로 시작.

 

좋은예) WriteLine, IsValid

나쁜예) Console

 

-공통-

* 관습적으로 첫 글자는 대문자를 사용한다.

 

ex) SimpleClass

* 이름이 두 개 이상의 단어로 구성된 경우, 각 단어의 첫 문자는 대문자를 쓴다.

 

 

 

Simple C# Program

 

★ 잠깐만요!!! WPF 교육과정 알아보고 가실께요 ^^

5/28 ~ 6/3  평일주간 단기

수강료

 670,000원

환급액

대기업 16만원, 중소기업 20만원 환급 (전후입니다.)

과정을 자세하게 보고싶으시다면

클릭을 눌러주세요!!

 

 

[자바공부하기 8]

추상클래스

 

간단하게 말해서는 클래스를 만들기 위해 미리 정의해 둔 클래스의 틀을 추상클래스라 말한다.

 

앞글에서 Employee 클래스와 직원의 하위 클래스를 예로 들어보자.

직원이라는 클래스는 일반관리자(Manager), 영업팀직원(SaleEmployee), 영업팀장(SaleChief)등을 만들기 위해 작성된 클래스라고 할 수있다. 사실 직원이라는 클래스는 실제 회사의 프로그램을 개발한다고 했을 때 사용해서는 안되는 클래스라고 할 수있다. 왜냐하면 A라는 회사에 직원 중 어느 부서에 해당되지 않고 자기 마음대로 회사를 출근하고 퇴근하는 직원은 존재하지 않을 것이다.

하지만 Employee 라는 클래스가 존재하는 이상 일반 사용자에게 메뉴얼을 작성해 "Employee 클래스는 다른 특정직원 클래스를 만들기 위한 클래스입니다." 라고 하기 전에는 Employee의 본래의미를 모르고 Employee의 객체를 생성하여 하용할 수 있다.

물론 이 것은 원래 개발을 한 개발자의 의도와는 상관이 없는 잘못된 사용이지만 이를 막을 수 없는 것이다.

즉 다음과 같은 소스 코딩을 막을 수 없다.

 

Employee e1 = new Employee("홍길동", “12345"); 
      e1.gotoTheOffice(); 

 

만약 Employee 클래스는 사용하기 보다는 다른 클래스에 상속하여 새로운 직원 클래스를 만드는 것이 바람직하다는 의미를 소스 코드에 부여한다면 개발자의 Employee 클래스 개발 의도를 사용자가 쉽게 알 수 있게 될 것이다.

이 때 사용되는 키워드가 abstract 키워드이다. 이 키워드가 클래스에 붙으면 이 클래스는 추상클래스라는 의미이다. 
앞서 작성한 Emplopyee 클래스에는 없지만 이를 상속받은 모든 클래스에서 정의하고 재정의하여 사용하고 있는 startJob 이라는 메소드를 Employee에서 추상메소드로 선언하여 정의할 수 있다.

 

 

//직원 Class
abstract class Employee {
    String name;
    String id;
  //생성자
    public Employee(String name1, String id1) {
        name = name1;
        id = id1;
    }
    public void gotoOffice() {
        System.out.println(name+"님 출근하였습니다...");
    }
    public void gotoHome() {
        System.out.println(name+"님 퇴근하였습니다...");
    }
    abstract public void startJob();  //추상메소드, 상속받은 하위클래스에서 구현
}

 

상속의 개념으로만 본다면 이러한 추상클래스는 굳이 만들 필요가 없다. 추상클래스가 아니더라도 위와 같은 상속과 메소드의 재정의는 얼마든지 가능하기 때문이다. 하지만 수퍼타입을 이용한 다형성의 측면에서 추상클래스는 유용하게 쓰일 수 있다.

A라는 직원이 회사에 입사했는데 처음에는 인사팀에 직원으로 있다가 얼마 후 영업팀으로 소속을 옮기게 되었다. 그러다가 경력을 쌓아 영업팀장으로 까지 진급하게 되었다. 이렇게 한 사람의 직원은 시간에 따라 때로는 상황에 따라 여러가지 모습으로 여라가지 업무를 담당하게 된다. 바로 이런 것을 가능하도록 객체를 설계하는 것이 바로 다형성의 구현이다.

 

여기서 문제?!

Employee 클래스의 객체가 때에 따라서는 Manager가 되고 또는 SalesCmployee가 되기도 하고 SalesChief가 되기도 할 수는 없을까..?

 

그렇게 할 수 있다면 실생활의 회사 직원처럼 상황과 시간에 따라 여러가지 모습을 지니는 다형성을 구현할 수 있게 되는 것이다.

 

답 : 가능하다.

모든 직원의 하위클래스들은 상위클래스(지난글에서 다뤘음 ^^)로 형변환하면 가능하다.

 

class Example2 {

public static void main(String[] args) {

Employee e1, e2, e3;

e1 = new Manager("피구", "33333", "개발팀")

e2 = new SalesEmployee("호나우두", "22222", "서울")

e3 = new SalesChief("히딩크", "11111", "전국", 5000)

e1.startJob();

e2.startJob();

e3.startJob();

}

}

 

 

[자바공부하기 8] 추상클래스

HTML개념 & 구성요소

 

HTML을 공부하기 앞서 HTML의 개념과 구성요소에대해 알고 가는 시간을 갖도록 하겠습니다.

 

HTML

HTML은 Hyper Text Markup Language의 약자로 웹을 통해 볼 수 있는 문서를 만들기 위한 표준언어이다.

또한 HTML로 만들어진 문서는 웹 프라우저를 통해 해석이 가능하다.

HTML의 구성 요소를 보면 <html>문서표시, <title>제목, <head>머리말, <body>본문 

이 4가지는 기본중의 기본요소입니다.

 

HTML을 시작할 때는 항상 <html>로 문서의 시작을 알려야합니다.

Head 사이에 들어가는 내용은 실제로 웹브라우저 내에 출력되지 않는 정보들이 주를 이룹니다. 다만, 이 안에 들어가는 문서의 제목이 브라우저 창의 제목표시줄에 나타나게 됩니다.

Title 사이에 들어가는 문자열은 웹프라우저 창의 제목표시줄에 웹문서의 제목을 표시합니다.

Body웹문서에 나타나는 일반적인 내용은 대부분의 경우 와 태그 안에 놓이게 됩니다.

그러므로 대부분의 문서를 디자인하는 방대한 분량의 태그와 내용들이 이 안에 놓여지게 됩니다.

 

 

HTML개념 & 구성요소

 

잠시만요!!! HTML과정 알아보고 가실께요~~

1. 초보자를위한 웹퍼블리싱 기초부터 실무과정

2. 표준웹 & HTML5&jQueyr&Ajax 실무과정

 

과정을 더 자세하게 보시길 원한다면 클릭눌러주세요~~

 

더 열심히 it공부합시다!!>ㅡ<

'웹표준' 카테고리의 다른 글

[HTML 공부하기 5] <p align="위치" >  (0) 2014.05.26
HTML 공부하기 4] <pre> 태그  (0) 2014.05.24
HTML공부하기 3 ] <br> 태그, <p> 태그  (0) 2014.05.24
HTML 공부2.  (0) 2014.05.22
HTML 공부 1.  (0) 2014.05.21

[WPF공부하기3]

 

Basic structure of C#

 

using system;

 

namespace namespace_name

{

class class_name

{

public static void Main(String[] args)

{

Stmt 1;

Stmt 2;

//…………..

Stmt n;

}

}

}

 

- 앞의 코드에 관한 설명 입니다. -

 

using -> 해당 네임스페이스를 사용함

namespace

 

관련된 클래스를 하나의 폴더에 묶어주는 역활

class(클래스)

C# 프로그램은 클래스의 조합입니다.

Main()

 

특수 메소드

모든 어플리케이션은 하나의 Main 메소드를 가지며 그 어플리케이션의 시작점이 된다.

 

//… : 주석(comment)

C#은 case-sensitive

 

앞의 코드에서 Main을 MAIN이라고 쓰거나, String을 stirng으로 작성해서는 안된다. (A와 a는 다릅니다.)

 

 

Basic structure of C#

 

잠깐!!! 닷넷 정기과정을 안내해드립니다.

 

- 닷넷 정기과정 -

1. C# 어플리케이션 개발과정

2. ASP/ADO.Net With C# 프로그래밍

3. WPF 프로그래밍 실전 어플리케이션 개발과정

교육과정을 확인하시려면 위의 ORACLEJAVA를 클릭해주세요 ^^**

 

[자바공부하기 7]OOP의 개념 - 상속 2

 

지난 글에 이어 이번글에서도 OOP의 개념 상속에 대해 나가겠습니다. 2번째 글이죠^^

 

 

SaleEmployee(영업부직원)을 상속한(확장한) SalesChief(영업팀장) Class를 만들어보자.

영업팀장 Class는 영업부직원과 같이 id, 이름, 영업담당 지역을 가지면서 자신만의 속성을 가진다.

   // 영업팀직원 클래스를 상속한 영업팀장 클래스

class SalesChief extends SalesEmployee {
      int salesTarget;  //영업팀 목표 매출액
      public SalesChief(String newName,String newID,String newArea, int newSalesTarget) {
          //super는 상위클래스의 생성자를 의미
          super(newName, newID, newArea); 
          this.salesTarget = newSalesTarget;
      }
      //영업팀장의 업무는 더이상 확장이 안된다는 의미, 상속할수가 없다는 의미
      final public void startJob() {
          System.out.println(super.name + "님이 영업팀 직원을 관리한다...");
          System.out.println(super.name + "님이 관리하는 영업팀의 매출목표는 "+ this.salesTarget + "만원 입니다...");
      }
      }

 

 

SaleChief Class의 경우 SaleEmployee의 startJob() 메소드를 재정의(Override)했다.

매소드의 재정의라고 하는 것은 상속의 관계에 있는 클래스들 사이에서 상위클래스에 있는 메소드를 하위클래스에서 다시 정의하여 사용하는 것을 말한다.

이 경우 하위클래스의 메소드는 상위클래스의 메소드와 이름도, 매개변수 타입도, 그리고 반환형도 같다. 하지만 내부적으로 하는 일은 다르다.

 

만약 SalesChief Class의 startJob 메소드에서 다음과 같이 정의한다고 가정하면

 

 public void startJob() {
          System.out.println(super.chargeArea); 
          System.out.println(super.name + "님이 영업팀 직원을 관리한다...");
    System.out.println(super.name + "님이 관리하는 영업팀의 매출목표는 "+ this.salesTarget + "만원 입니다...");
      }

 

 

아래와 같은 오류발생이 된다.

 

Example.java:59: chargeArea has private access in SalesEmployee
      System.out.println(super.chargeArea); 


객체지향 언어에서는 정보의 은닉(캡슐화,Encapsulation) 을 위해서 위와 같은 접근지정을 할 수 있다. 즉 SaleEmployee의 자료중 정보 은닉의 필요가 있는 필드나 메소드는 접근지정자를 사용해 접근을 제한할 수 있는 것이다.

 

현재 작성한 클래스나 클래스의 맴버를 다른 클래스에게 상속시키고자 하지 않을경우엔 final 키워드를 사용한다. 예를 들어 한 회사에 영업팀장은 그 만의 고유한 업무를 가지고 영업팀장의 업무를 관리하는 또 다른 개체가 없을 때는 영업팀장을 상속하여 더 확장된 기능을 가진 클래스를 만들 필요가 없을 것이다.

이럴경우 final 키워드를 사용한다.

메소드의 경우도 이와 같이 상속을 완전히 금지하는 경우가 있는데 이러한 메소드도 final이라는 키워드와 같이 사용하게 되고 종단 메소드(final method)라고 부른다.

 

 


/* Class의 상속에 관한 예제 Example1.*/
//직원 Class
class Employee {
    String name;
    String id;

  //생성자
    public Employee(String name1, String id1) {
        name = name1;
        id = id1;
    }

    public void gotoOffice() {
        System.out.println(name+"님 출근하였습니다...");
    }

    public void gotoHome() {
        System.out.println(name+"님 퇴근하였습니다...");
    }
}


//직원클래스를 상속한 일반관리자 Class
class Manager extends Employee {
    String chargeDept;
    public Manager(String newName,String newID,String newDept) {
        //super는 상위클래스의 생성자를 의미
        super(newName, newID);    this.chargeDept = newDept;
    }
    public void startJob() {
        System.out.println(this.chargeDept + " " + super.name + "님이 일을 시작합니다...");
    }
}
//직원클래스를 상속한 영업팀직원 클래스
class SalesEmployee extends Employee {
    //영업담당지역, 메소드내에서만 변수에 접근이 가능하다.
    private String chargeArea;
    public SalesEmployee(String newName,String newID,String newArea) {
        //super는 상위클래스의 생성자를 의미
        super(newName, newID);      this.chargeArea = newArea;
    }
    public void startJob() {
        System.out.println(super.name + "님이 " + this.chargeArea + " 지역으로 영업업무를 나갑니다...");
    }
}


//영업팀직원 클래스를 상속한 영업팀장 클래스
class SalesChief extends SalesEmployee {
      int salesTarget;  //영업팀 목표 매출액
      public SalesChief(String newName,String newID,String newArea, int newSalesTarget) {
              super(newName, newID, newArea);  this.salesTarget = newSalesTarget;
      }
      public void startJob() {
          System.out.println(super.name + "님이 영업팀 직원을 관리한다...");
          System.out.println(super.name + "님이 관리하는 영업팀의 매출목표는 "+ this.salesTarget + "만원 입니다...");
      }
}
//Main Class
class Example {
    public static void main(String args[]) {
        Manager m = new Manager("이종철","12345","솔루션개발");
        m.gotoOffice();        m.startJob();        m.gotoHome();
        SalesEmployee se = new SalesEmployee("차두리","23456","서울");
        se.gotoOffice();        se.startJob();        se.gotoHome();
        SalesChief sc = new SalesChief("홍길동","34567","전국",9000);
        sc.gotoOffice();        sc.startJob();        sc.gotoHome();
    }

 

여기까지 OOP의 개념 -- 상속에 대해 1과2로 나눠 알아보았습니다.^^

 

[자바공부하기 7]OOP의 개념 - 상속 2

 

 

[자바공부하기 6]

OOP의 개념 - 상속 1

 

상속은 한 클래스를 확장하여 새로운 클래스를 만드는 것을 말한다. 이렇게 새로 만들어지는 클래스를 하위클래스라고 부른다. 그리고 원래의 클래스는 상위클래스라고부른다. 하위클래스는 상위클래스에서 정의한 메쏘드와 변수들을 그대로 가지고 있을 수 있다.(물론 이것도 접근변경자를 통해 조절이 가능함)여기에 추가로 하위 클래스 자체적으로 정의된 메쏘드와 변수들을 가질 수 있다. 어떤 클래스에 대해서, 상속받는 하위 클래스는 여러 개가 될수있다.

이미 만들어놓은 클래스를 기반으로 원하는 기능이 추가된 새로운 클래스를 쉽게 만들어낼 수 있다.

자바의 모든 클래스는 상속의 대상이 되는 상위클래스가 반드시 하나 존재한다.

프로그램의 재사용성과 확장성을 높인다.

 

* 상위클래스(SuperClass)  / 하위클래스(Subclass)

 

 

class Employee {

   string name;      string id;

//생성자

    public Employee(string name1, string id1) {

name =name1;    id=id1;

   }

    public void gotoOffice()  {

System.out.printin(name+"님 출근하였습니다...");

   }

 

    public void gotoHome()  {

System.out.printin(name+"님 퇴근하였습니다...");

   }

}

 


Employee Class를 상속한 Manager Class가 있다….
//직원클래스를 상속한 일반관리자 Class
class Manager extends Employee {
    String chargeDept;
    public Manager(String newName,String newID,String newDept) {
        //super는 상위클래스의 생성자를 의미
        super(newName, newID);
        this.chargeDept = newDept;
    }

    public void startJob() {
        System.out.println(this.chargeDept + " " + super.name + "님이 관리업무를 시작합니다...");
    }
}


Employee Class를 상속한 SalesEmployee Class가 있다….
//직원클래스를 상속한 영업팀직원 클래스
class SalesEmployee extends Employee {
    //영업담당지역, 메소드내에서만 변수에 접근이 가능하다.
    private String chargeArea;
    public SalesEmployee(String newName,String newID,String newArea) {
        //super는 상위클래스의 생성자를 의미
        super(newName, newID); 
        this.chargeArea = newArea;
    }
    public void startJob() {
        System.out.println(super.name + "님이 “ + this.chargeArea + “ 지역으로 영업업무를 나갑니다...");   
    }
}

상속을 위해서는 extends keyword를 사용한다. (class a extends b    b로부터 상속을 받음)

extends키워드를 이용해 클래스를 상속받으면 상속받은 클래스는 상위클래스의 필드와 메소드를 상속받는다.

ex>

앞의 Manager Class instance화 했다면
        Manager m = new Manager(“홍길동”, “12345”,”관리부”);
        String id = m.id;
        m.gotoOffice();

등과 같이 사용이 가능하다... 물론 m.startJob()처럼 자신의 Method를 사용이 가능하다.

하위클래스는 객체를 생성할 때 상위클래스의 객체를 먼저 생성해야 한다. 하위 클래스는 크게 상위클래스 객체부와 자기 자신의 객체부로 나눈 수 있다. 즉 new 키워드를 사용하여 하위클래스는 크게 상위클래스 객체부와 자기 자신의 객체부로 나눌 수 있다. 즉 new 키워드를 사용하여 하위클래스를 생성하면 상위클래스의 부분과 하위클래스 고유의 부분이 나뉘어 생성된다는 것이다. 이때 상위클래스 부분을 super이라고한다. 그리고 상위클래스 객체부를 생성하기 위해 사용하는 것이 바로 상위클래스 생성자super()이다.

ex>

   만약 Manager Class에서 super(newName, newID)를 생략하면 다음과 같은 에러가 난다.  생략시에는 default로 super() 이 삽입되는데ㅡ Employee에는 파라미터가 없는 생성자가 선언되지 않았기때문에 ….
      Example.java:22: cannot resolve symbol        symbol  : constructor Employee  ()
        location: class Employee        public Manager(String newName,String newID,String newDept) {

 

하위클래스에서 상위클래스의 맴버를 호출하고자 할때는 .(점) 연산자를 사용하여 나타낼 수 있다.

ex>

Manager Class에서 super.name
      public void startJob() {
            System.out.println(this.chargeDept +” “+ super.name + "님이 직원관리 업무 를 시작합니다...");   
    }

 

 

 

다음글에서 계속나갈께요 ^-^

 

잠깐 !! 자바 정기교육을 안내해드릴께요 ^^ 공부에 참고하시라고 올려드립니다. ^-^

 

- JAVA정기교육 -

 

1. 초보자를 위한 JAVA,JSP실무교육과정

2. 자바기초에서 Ajax,jQuery,Struts2,Spring까지

3. JAVA초보에서 Web&Spring,MiPlatForm까지

4. (개발과정)Ajax,jQuery,Spring3.X&MyBatis 실무과정

위 교육과정을 확인하시려면 아래그림을 클릭해주세요.

 

자바공부하기 6]

 

 

+ Recent posts