분류 전체보기331 HTML_Tag 2 : <title> 오늘은 title 태그에 대해서 알아보도록 하겠습니다. title 태그는 말그대로 타이틀입니다. html 문서의 제목인것이죠. 지난 시간 배웠던 head 태그의 자식으로서 head태그 안에 title태그가 포함됩니다. html 문서가 어떤 걸 표현하고 있는지 또는 현재 웹사이트의 이름을 title 태그에 표기함으로써 브라우져 상단의 제목표시줄에 표시됩니다. 2021. 11. 10. HTML_Tag 1 : <head> 헤드 태그 오늘은 head태그에 대해서 알아보도록 하겠습니다. head 태그는 말그대로 html 문서의 머리입니다. 브라우저엔 직접적으로 표현되진 않습니다. 다만 문서의 전반적인 정보를 제공합니다. 위 이미지에서 보듯 head 태그안에 제목을 표현하는 title 태그와 여러 메타 정보중 인코딩 정보가 포함되어있습니다. 이 외에도 아래와 같은 태그들이 포함될 수 있습니다. - - - - - 2021. 11. 9. c#_45 인터페이스 interface 이번 포스팅에선 인터페이스에 대해서 알아보도록 하겠습니다. 인터페이스는 abstract 추상 클래스와 비슷하지만 추상화 정도가 더욱 깊습니다. 이 말인 즉슨 추상 멤버만 가지고 있는 추상 클래스라고 볼 수도 있습니다. 더불어 직접 구현하지않고 정의만 할 수 있습니다. 위 예제에서 보듯 인터페이스는 상속용으로써 상속받은 클래스 내에서 메소드를 반드시 구현해야 합니다. 인터페이스의 멤버 메소드는 public이나 private같은 접근 제한자를 쓸 수 없습니다. 이는 기본적으로 인퍼테이스의 멤버 메소드는 가상(virtual) 메소드이기 때문입니다. 상속받은 클래스 내에서 메소드를 구현시 public을 반드시 붙혀주어야 하며 가상 메소드이지만 따로 override 키워드는 붙혀줄 필요는 없습니다. 한 가지 주의.. 2021. 11. 1. c#_44 추상화 클래스, 메소드 abstract 추상화 클래스와 메소드에 대해서 알아보도록 하겠습니다. 추상화 클래스는 상속용 클래스입니다. 오로지 상속용으로만 사용되고 객체의 생성은 불가능합니다. new 키워드를 통해 인스턴스를 만들 수 없습니다. 이미지에서 보듯 abstract라는 키워드를 class앞에 붙임으로써 추상화 클래스가 됩니다. 추상화 클래스는 미완성 클래스라고도 불립니다. 이렇게 불리는 이유는 추상화 메소드(함수)를 포함할 수 있기 때문입니다. 이 추상화 메소드는 virtual 가상화 메소드 처럼 재정의를 하고자 할 때 사용하지만 일반 클래스와 달리 부모 클래스내에선 정의를 하지 않고 선언만 할 수 있습니다. 상속받은 클래스 내에서 반드시 정의를 해야합니다. 예제에서 보듯 Character 추상화 클래스를 상속받은 Knight 클래스내.. 2021. 9. 29. c#_43 제너릭 Generics 타입 <T> 제너릭 Generics 타입에 대해서 알아보겠습니다. 제너릭 타입은 어떤 특정한 타입을 특정짓지 않고 제너릭 타입 자체를 파라미터로 받아들이도록 하여 클래스를 정의할 수 있습니다. 이렇게 함으로써 일부 타입이 다른 클래스나 인터페이스 또는 메소드를 여럿 만들지 않아도 됩니다.위 예제에서 보듯 타입이 각기 다른 size 변수를 여러 개의 클래스가 아닌 제너릭 타입을 붙혀 여러 개의 타입을 받을 수 있는 클래스로 정의했습니다. https://play.google.com/store/apps/details?id=com.goldenegg 골든 에그 - Google Play 앱수박 게임류의 머지 게임입니다.play.google.com 제너릭 타입을 활용한다면 불필요하게 클.. 2021. 9. 19. c#_42 클래스 Virtual과 Override 가상 메소드(함수) 1 가상 함수에 대해서 알아보도록 하겠습니다. 클래스 내의 멤버 메소드에 virtual 키워드를 명시하면 그 메소는 상속을 받은 자식 함수에서 재정의를 할 수 있게 됩니다. 위 예제에서 보듯 Test 클래스를 상속 받은 Child 클래스에서 TestFunc()라는 메소드를 재정의하고 있습니다. 이렇게 하는 이유는 메소드를 통한 기본 기능과 결과는 똑같을 수 있지만 그 과정은 각 개체들마다 다를 수 있기 때문입니다. 예를 들어 밥을 먹는 행위를 하는 메소드가 있다면 누군가는 오른손으로 먹지만 누군가는 왼손으로 먹을수도 있고 포크나 젓가락 등 먹는 행위는 같지만 그 과정은 다 다를 수 있습니다. 위 예제를 보시면 character 클래스에 Attack이라는 메소드가 있고 이를 가상 함수로 만들었습니다. 그리고 .. 2021. 9. 18. c# 네임스페이스 Namespace 네임 스페이스에 대해서 알아보도록 하겠습니다. 네임 스페이스는 수 없이 많은 클래스들 간의 충돌을 방지하고자 사용합니다. 비슷한 의미와 역할을 하는 클래스들을 비롯한 개체들은 이름이 비슷하거나 똑같을 수도 있습니다. 특히 큰 프로젝트의 경우 여러 사람이 작업을 진행하게 되는데 이 경우 문제가 여러 곳에서 발생할 수도 있습니다. 그래서 이 네임 스페이스를 활용해 클래스들을 관리하고 사용합니다. c#의 .net 프레임 워크의 경우 무려 11,000여개의 클래스들이 존재함에 따라 네임 스페이스가 적극적으로 활용되고 있습니다.위 이미지를 보듯 한 네임 스페이스 내에 같은 이름의 클래스가 존재한다면 당연히 오류가 발생하지만 서로 다른 네임 스페이스에 존재하는 같은 이름의 클래스는 충돌이 일어나지 않습니다. 네.. 2021. 9. 15. c#_null 조건 연산자들 지난 포스팅에서 null에 대해서 알아보았습니다. 이번 포스팅에선 null과 관련된 연산자들을 알아보도록 하겠습니다. Nuallable, ? int, float을 비롯한 value타입도 위 이미지의 두 예제처럼 null값을 대입할 수 있습니다. 위 이미지의 두 방식은 동일합니다. Nuallable과 ?은 value타입에만 적용이 가능하고 참조 타입은 적용이 불가능합니다. ?. null 조건 연산자 ?.경우 왼쪽항의 변수가 null이면 null을 반환하고 아니면 오른쪽항의 속성을 반환합니다. ?[] 배열이나 리스트의 요소가 null인지 아닌지 체크한 후 null이면 null을 반환하고 아니면 요소를 반환합니다. ?? ??는 왼쪽항의 변수가 null이면 오른쪽항의 값을 대입하고, null이 아니면 변수의 값.. 2021. 9. 13. c#_null ?? 널? null 조건 연산자에 대해 알아보기전에 일단 null에 대해서 알아보도록 하겠습니다. null은 아무것도 아닌 값입니다. 값이라는 말 자체가 모순일수도 있지만 비어있는 상태를 뜻합니다. 어떠한 값도 없는 상태인 것이죠. 하지만 이 null값을 아무곳에나 쓸 순 없습니다. 보통 객체의 상태가 null인지 아닌지 판단할 때 사용을 하는데 이것도 하나의 값이기에 Nullable타입이 아니면 값을 대입할 수 없습니다. 위 예제에서 보시듯 int형을 비롯한 value타입들은 null값을 대입할 수 없습니다. 반면에 위의 참조 형식들은 null값을 허용함으로써 객체가 null상태인지 아닌지 판단할 수 있습니다. 사용자 자료형인 클래스 역시 null 값을 허용합니다. 이런 식으로 null값을 활용해 객체.. 2021. 9. 11. c#_41 콜렉션 Collection : 딕셔너리 Dictionary <TKey,TValue> 간단한 사용방법 2 ContainsKey문자열에 해당하는 키가 존재할 경우 true, 없으면 false를 반환합니다. ContainsValue문자열에 해당하는 Value가 존재할 경우 true, 없으면 false를 반환합니다. 다만 Key와는 달리 동일한 Value는 존재가 가능함으로 먼저 검색된 값을 기준으로 반환합니다.TryGetValue문자열의 Key가 존재한다면 Key에 해당하는 Value를 반환합니다.아래의 예제처럼 활용도 가능합니다. 활용아이템의 정보를 담고 있는 구조체를 Value로서 딕셔너리에 Key와 함께 담아 관리합니다.위 예제는 하나의 활용법일 딕셔너리를 포함한 여러 컬렉션의 활용법은 무궁무진합니다. 상황에 맞는 컬렉션과 방법을 선택해서 활용하시면 되겠습니다. 2021. 8. 30. c# var 키워드 (implicitly typed local variable) var에 대해서 알아보겠습니다. var은 implicitly typed local variable 암시적 타입 지역변수 입니다. 이게 무엇이냐? 사용자에 의해 지역변수의 타입이 정해지는 것이 아니라 컴파일러에 의해서 타입이 정해지는 것입니다.위 예제에서 보듯 int타입을 명시적으로 선언하고 초기화하고 있는데 반해 var의 경우 어떠한 키워드 없이 값이 대입되고 있는 것을 볼 수가 있습니다. var은 대입되는 값의 타입에 따라서 컴파일러에 의해 타입이 정해집니다.그렇기에 var를 통해서 지역변수를 선언하려면 바로 초기화를 해주어야 합니다. 대입되는 값의 타입에 따라 변수의 타입은 암시적으로 정해집니다. 당연하게도 그 변수는 다른 타입의 값을 대입하게되면 오류가 발생합니다.이 var키워드는 지역변.. 2021. 8. 25. c#_40 콜렉션 Collection : 딕셔너리 Dictionary <TKey,TValue> 간단한 사용방법 1 콜렉션 중 딕셔너리(Dictionary)에 대해 알아보도록 하겠습니다. 딕셔너리는 데이터를 구별할 수 있는 Key와 데이터인 Value의 KeyValuePair의 타입을 저장하는 콜렉션입니다. 이름에서 유추할 수 있듯 사전처럼 색인을 통해 단어의 뜻이나 정보를 찾을 수 있습니다. Key와 Value가 한 쌍으로 이 Key를 통해서 Value값을 알 수 있습니다. 당연하게도 Key를 통해 구분하다보니 Key는 중복될 수 없습니다. 딕셔너리 역시 콜렉션 자료구조로 using System.Collections.Generic이 선언되어 있어야 사용할 수 있습니다. 이미지에서 보듯 다른 자료구조와는 달리 딕셔너리는 Key와 Value에 쓰일 두 개의 자료형이 필요합니다. 위 예제에선 Key와 Value의 자료형.. 2021. 8. 22. 이전 1 ··· 21 22 23 24 25 26 27 28 다음 반응형