분류 전체보기 133

SAP ABAP 기초 : Structure 와 Internal Table

여러개의 자료형을 하나로 묶어서 다뤄야 할 때가 있다. 그 때에는 구조체를 사용하면 된다. 구조체를 통해 우린 여러개의 다른 자료형을 하나의 새로운 자료형으로 만들 수가 있게 된다. 위에 예시처럼 자재 하나만이 아니라 더 많은 자재들이 있어 테이블이 필요하게 된다면 internal table를 선언하면 된다. 자재들은 1번 부터 차례차례 번호가 주어져야 하는데 이는 'sy_index'를 통해 해결할 수 있다. 또한 '자재1' '자재2' 이렇게 인덱스 번호와 자재를 이어서 붙이고 싶으니 이를 위해 CONCATENATE 를 사용했다. 보기 불편하니 데이터 마다 줄 뛰어주기를 하자. 앞에 ' / ' 를 붙이면 된다. 공부 내용 출처: https://www.youtube.com/watch?v=B65oBUNvH5..

메모/SAP 2022.06.27

Kotlin : 객체 (Object)

코틀린은 자바처럼 객체 지향 언어이다. 그럼, 당연히 우리는 이 '객체'가 무엇인지 알아야 할 필요가 있다. 보통 우리가 보거나 만질 수 있는, 실세계의 존재하는 것들을 객체라 한다. 예로 책상, 의자, 컵, 연필 등의 흔히 보이는 물건들. 따라서 객체 지향 프로그래밍은 우리가 매일 인지하고 있는 것들과 가깝다고 보면 된다. 실세계에는 객체가 존재한다. (예: 컵) 이러한 객체는 속성을 가지고 있다. (예: 재질, 색상, 내용물, 크기) 객체에는 다양한 상태가 있다. (예: 컵이 차있다, 비어있다, 가득 차있다, 들어있는 음료가 뜨겁다, 차갑다) 객체는 서로 연관되어 있다. (예: 음료(객체)가 컵(객체)에 들어있다. 사람(객체)이 컵(객체)으로 음료(객체)를 마신다.) 객체 사이에는 상호작용이 있다. ..

언어/Kotlin 2022.06.24

Kotlin : 함수 선언과 호출

1. Top Level 함수와 Member 함수 Top - Level - Function: '자유함수'라고도 불리는데 어디서든 자유롭게 호출이 가능하다. // println() 이나 arrayOf() 함수 // 예시 println("오늘의 날씨는 37도입니다") val names = arrayOf("김하나","박둘","황셋") Member - Function: '메서드'라고도 불리며 '.'을 통해 호출이 가능하다. (멤버 함수는 클래스, 오브젝트 또는 인터페이스 내부에 정의된다.) //예시: sum 함수 val numbers = arrayOf(1,2,3,4,5) val sum = numbers.sum() println(sum) 위에 예시들을 보면 알겠지만, 함수는 항상 어떠한 '값'을 반환하다. 함수 a..

언어/Kotlin 2022.06.18

Kotlin : 제어문 if 와 when

1. If 저번에 쓰여진 코드를 다시 보자. var currentBottleContent = 600 var currentGlassContent = 50 val maxGlassContent = 130 val toBeFilled = maxGlassContent - currentGlassContent //채워져야 할 양 currentGlassContent += toBeFilled currentBottleContent -= toBeFilled 여기서 눈치챘겠지만 이 코드엔 문제가 있다. 코드를 보면 무조건 잔은 채워지고, 그 채워진 만큼 병 속의 물의 양이 줄어드는데, 만일 병에 있던 물의 양이 그 채워져야 할 양보다 적다면, 성립할 수가 없게 된다. 병에 있던 물의 양이 50ml 였다면.. 결과는 다음과 같을..

언어/Kotlin 2022.06.17

Kotlin : 변수 var 과 val

1. 변수의 필요성 물론 변수가 없이도 우리는 예를 들어 어떤 수학적인 계산을 이어갈 수가 있다. PI * pow(5.0,2.0) 그냥 위와 같은 값을 얻고 싶다 가정한다면, 변수가 필요없겠지만 여기서 생각해 봐야할 점이 있다. 값을 얻으면 그대로 끝이라는 것이다. 무슨 말이냐면, 이 얻은 값을 결과로 다른 연산들을 이어가고 싶어질 시, 같은 코드를 다시 그대로 써야 한다는 것이다. 5가지 정도만의 연산을 이어서 한다고 해도 코드는 길어질대로 길어져 읽기가 불가능해 질 것이다. 그렇게 쓰여진 코드는 시간이 지나서 다시 보게 될 때, 이 코드가 무엇을 의미했었는지 다시 생각해나가야 한다. 그러니 표현식을 쓸 때 이 식이 의미하는 게 무엇인지 생각해보고, 그 의미를 이름에 나타내야 한다. 이는 변수를 통해 ..

언어/Kotlin 2022.06.16

Kotlin 기초 : 자료형 (Data type)

Int, Boolean, String 등의 모든 자료형은 허용되는 값과 해당 유형의 값으로 가능한 함수 및 연산을 정한다. 이는 컴파일러가 프로그래밍할 때 조기에 우리를 오류로부터 보호할 수 있는 유일한 방법이기에 중요하다. 컴파일러가 컴파일 중에 자료형을 인지하고 함수와 연산이 자료형에 맞게 쓰였는지 확인한다 (코틀린은 자료형이 정적으로 지정되기 때문에). 동적으로 지정된 언어같은 경우 자료형 검사가 프로그램 실행(런타임)에 일어난다. 자료형은 Typ에 대한 데이터가 인코딩(사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것 -위키백과)되는 방법도 서술한다. 이는 프로그램이 컴퓨터의 메모리에 값을 저장하기 때문에 중요하다. 메모리 내 모든 것이 비트(0과 1)로 구성되기 때문에 ..

언어/Kotlin 2022.06.15

Kotlin 기초 : 표현식 (Expression)과 문 (Statement)

Expression : 표현식은 유형(Typ)의 값으로 '평가' 될 수 있는 모든 것, 즉 어떠한 값을 반환하는 것들. (kotlin에서 모든 함수들은 최소 unit을 반환하므로 표현식이다) 가장 간단한 표현식의 예) 36.5 28 "Hello World" 각 줄이 하나의 표현식이다. Expression Typ 허용 값 허용되는 연산자 36.5 Double 실수 +, -, *, / ... 28 Int 정수 +, -, *, / ... "Hello World" String 문자열 +, == ++ 15 * 89 47 + 12 두 식 모두 Int의 값으로 평가되니(Int값을 반환하니) expression 이다. 표현식 안에는 다른 표현식이 포함 될 수 있다. fun sumOf(a: Int, b: Int): In..

언어/Kotlin 2022.06.12

Kotlin 기초 : 언어 구성요소 (syntax, semantic)

예로, 영어를 할 줄 알지만 독일어를 모르는 한국인이 독일어로 쓰인 문장을 읽고 이해할 수 없는 듯, 번역가가 이해할 수 있는 언어로 써있어야 번역이 가능한 법이다. 컴파일러도 마찬가지다. 구문상으로 올바른 소스코드만 이해 할 수가 있다. 1. Syntax 구문론 구문은 언어에 대한 유효한 문자의 규칙이다. 컴파일러는 구성이 제대로 된 구문이 필요하다. 그런 구문은 예로 코틀린의 fun, class, if 와 같은 명확하게 정의된 키워드나, +, -, *, / , % 와 같은 연산자나, 548 , "안녕" 과 같은 고정된 데이터 값이나, 데이터의 값이나 함수의 이름과 같은 자체 식별자들로 이루어져 있다. 예) println("Hello") : println은 코틀린의 기본 출력문이다. (자바와 같다) 자..

언어/Kotlin 2022.06.03

SAP ABAP Hello, world! 출력과 abap 기본 문법

1. Hello, world 를 출력해보자.hello world를 화면에 출력해보자! ABAP에서는 문자열에 " "를 사용하지 않고 ' '를 사용해야 한다.이유는 조금 뒤에 나온다.  검사해보니 에러가 뜬다.내용을 보니 .을 찍어야 한다고 한다. 그렇구나..마지막에 '.'을 찍는걸로 마무리 해야함을 알 수 있다. 문장을 쓰는 느낌...    오류 수정 후 프로그램 실행을 해보니..  저장하구 aktivieren 하라는 문구가 뜬다. 지금 상태에선 저장만 눌러도 되나 어떤 객체들이나 테이블이 활성화되어야 하는 경우들이 있어 aktiveren 을 해준다고 한다.  드디어 hello world가 출력되었다.    2. 주석 다는 법  " 와 * 을 사용한다." 이 주석에 사용되서 앞서 문자열에 " 를 사용하지..

메모/SAP 2022.05.25

SAP 시작 및 살짝 둘러보기 (알아둬야 할 Transaction Code)

학교 선택과목을 통해 SAP 수업을 들을 수 있는 기회가 생겼는데 드디어 오늘 설치 및 간단하게 둘러보는 시간을 가지게 되었다. 학교 vpn이랑 연결 후, 받은 계정으로 로그인을 완료하면 나오는 첫 화면. # Transaction Code 1. se11 : ABAP Dictionary 이 ABAP Dictionary 는 NetWeaver 기반 시스템에서 사용되는 모든 데이터 정의들의 중앙 관리 이 트랜잭션 코드를 사용하여 다양한 데이터 유형(데이터 요소, 구조, 테이블, 뷰 등)들이 정의 및 괸리된다. => 데이터베이스 테이블의 구조를 볼 수 있으며 얼마나 많은 데이터베이스가 있는지, 어떤 데이터베이스 테이블이 있는지 등을 확인 할 수 있다. 창에 Transaction code인 se11 을 검색해보면,..

메모/SAP 2022.05.25