일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- 경제
- Python
- c
- ChatGPT
- Shellcode
- 백엔드
- 챗GPT
- Javascript
- BOF
- mysql
- 리눅스
- 러닝스칼라
- hackerschool
- 러닝 스칼라
- Linux
- php
- hacking
- 딥러닝
- backend
- 인공지능
- webhacking
- c++
- Scala
- deep learning
- Web
- BOF 원정대
- flask
- 웹해킹
- hackthissite
- Today
- Total
목록IT Book Study/러닝 스칼라 (10)
jam 블로그
스칼라 데이터 타입 특징을 깊게 알아보자. 이 장을 이해함으로써 스칼라 API, 라이브러리 동작 방식을 이해할 수 있다. 튜플과 함숫값 클래스 튜플은 TupleX[Y] 케이스 클래스의 인스턴스로 구현 X: 1 val x: (Int, Int) = Tuple2(10, 20) x: (Int, Int) = (10,20) scala> println("Does the arity = 2? " + (x.productArity == 2)) Does the arity = 2? true 함수값은 FunctionX[Y] 트레이트를 확장한 익명 클래스의 인스턴스로 구현된다. X: 매개변수 개수 Y: 타입 매개변수, 첫 번째는 반환값 타입, 두 번째부터는 매개변수의 타입 스칼라 컴파일러가 함수 리터럴을 FunctionX를 확장하..
객체(object) 하나 이상의 인스턴스를 가질 수 없는 형태의 클래스, 싱글턴(Singletom) 클래스 이름으로 객체에 접근 JVM에서 최초로 접근될 때 인스턴스화 자바에서는 클래스의 특정 필드와 메소드를 정적(static)으로 지정.(인스턴스 기반 필드/메소드와 섞여있음) 스칼라는 전역 필드/메소드와 인스턴스 기반 필드/메소드를 분리 class 대신 object 키워드 사용, 클래스 매개변수를 취할 수 없음 object [extends ] [{ fields, methods, and classes }] scala> object Hello { println("in Hello"); def hi = "hi" } defined object Hello scala> println(Hello.hi) in Hell..
클래스란? 데이터 구조와 함수의 조합으로, 객체지향 언어의 핵심 구성 요소 특징 상속(inheritance) : 다른 클래스로 확장할 수 있어서 서브 클래스와 슈퍼 클래스의 계층 구조 생성 가능 다형성(polymorphism) : 서브 클래스가 부모 클래스를 대신하여 작업하는 것이 가능 캡슐화(encapsulation) : 클래스의 외관을 관리하는 프라이버시 제어를 제공 class User val u = new User val u1 = new User val isAnyRef = u.isInstanceOf[AnyRef] /* defined class User u: User = User@4c478184 u1: User = User@2e6ef924 isAnyRef: Boolean = true */ AnyRef..
불변의 컬렉션 List, Set, Map 은 불변의 컬렉션 코드의 안정성을 높이고 버그를 방지하기 위해 데이터와 데이터 구조는 변경되거나 자신의 상태를 바꿀 수 없다. 가변 컬렉션 생성하기 collection.mutable은 자동으로 추가되지 않아서 반드시 포함해야한다. //불변 collection.immutable.Buffer collection.immutable.Set collection.immutable.Map //가변 collection.mutable.Buffer collection.mutable.Set collection.mutable.Map 가변 컬렉션을 이용하면 추가나 변경을 할 수 있다. toList , toSet, toMap 메소드를 이용해서 가변 컬렉션을 불변의 컬랙션으로 만들 수 있다..
컬렉션(collection) 프레임워크는 배열, 리스트, 맵, 집합, 트리와 같이 주어진 타입을 가지는 하나 또는 그 이상의 값을 수집하는 데이터 구조를 제공한다. 1. 성능이 좋고, 객체지향적, 타입-매개변수화 - 자바 컬렉션 라이브러리 1. jvm이기 때문에 자바 컬렉션을 스칼라에서 활용 가능 스칼라는 여러 이유로 컬렉션을 재정의함 1. 고차함수 이용 (map, filter, reduce) 1. mutable/immutable 타입의 계층 구조 리스트, 집합, 그리고 맵 List 타입: immutable 단반향 연결 리스트 scala> val numbers = List(32, 95, 24, 21, 17) numbers: List[Int] = List(32, 95, 24, 21, 17) scala> v..