Programming 51

상속

[KT] AIVLE SCHOOL 25일차 상속자식 클래스는 부모 클래스에서 물려받은 멤버를 그대로 사용하거나 변경할 수 있고 새로운 멤버도 추가 가능따라서 자식 클래스는 대체로 부모 클래스보다 속성이나 동작이 더 많음상속은 is-a 관계is-a (상속관계)원은 도형이다.사과는 과일이다.Tandem은 Bike다.has-a (소유관계)자동차는 엔진이 있다.스마트폰은 카메라가 있다.컴퓨터는 마우스가 있다.extends 키워드를 사용하며 다중상속은 안됨객체 지향의 상속을 적용할 수 있는 현실 세계의 예시Animal : Eagle, Tiger, GoldfishBike : MountainBike, RoadBike, TandemBikeCircle : Ball, Cone, CylinderDrinks : Beer, Co..

Programming/Java 2025.04.29

객체지향 기초

[KT] AIVLE SCHOOL 24일차 객체의 개념소프트웨어 객체는 현실 세계의 객체를 필드와 메서드로 모델링한 것소프트웨어 객체는 상태를 필드(Field)로 정의하고 동작을 메서드(Method)로 정의필드는 객체 내부에 선언된 변수를 의미하고 메서드는 객체 내부에 정의된 동작절차 지향 프로그래밍일련의 동작을 순서에 맞추어 단계적으로 실행하도록 명령어를 나열데이터를 정의하는 방법보다는 명령어의 순서와 흐름에 중점수행할 작업을 예상할 수 있어 직관적인데 규모가 작을 때는 프로그래밍과 이해하기가 용이소프트웨어는 계산 위주이므로 절차 지향 프로그래밍이 적합객체 지향 프로그래밍절차 지향 프로그래밍 방식의 한계소프트웨어의 규모가 커지면서 동작과 분리되어 전 과정에서 서로 복잡하게 얽혀 있는 데이터를 사용절차 지..

Programming/Java 2025.04.28

Java 소개

[KT] AIVLE SCHOOL 23일차 자바(Java)객체지향 프로그래밍 언어플랫폼에 구애받지 않는 '한 번 작성하면 어디서나 실행 가능(Write Once, Run Anywhere)' 이라는 철학을 가짐Java 특징객체 지향성 : 모든 것을 객체로 취급하며, 클래스를 통해 객체를 정의하고 구조화된 프로그램을 개발플랫폼 독립성 : 자바 가상 머신(JVM) 위에서 실행되기 때문에 한 번 작성한 코드는 어떤 플랫폼에서도 실행할 수 있음자동 메모리 관리 : 가비지 컬렉터를 통해 사용하지 않는 메모리를 자동으로 정리함보안성: 실행되기 전에 바이트코드를 검증하여 안정성을 확보함멀티스레드 지원 : 언어 차원에서 멀티스레딩을 지원하여 복잡한 프로그램도 효율적으로 동작할 수 있음리치 라이브러리 : 풍부한 표준 라이브..

Programming/Java 2025.04.28

[Python] Python 기초 (6) - 함수(Function)

[KT] AIVLE SCHOOL 2일차 함수입력을 받아 무엇인가를 처리한 후 그 결과를 반환하는 것입력을 함수에 넣으면 출력이 되는 형태, 같은 입력이라 해도 함수 기능에 따라 다른 출력이 됨프로그래밍에서 함수란 반복해 사용할 코드를 미리 정의해두고 필요할 때 사용하는 모듈같은 로직을 반복해 코딩할 필요가 없어지게 됨함수의 정의와 사용함수는 def문으로 정의기본적으로 세가지로 구성 입력(Input) : 매개변수, 생략가능처리 : 코드들출력(Output) : 처리 결과, 생략가능매개변수함수는 입력 매개변수에 대한 유효성 체크를 권장매개변수는 필수적인 것은 아니며 매개변수 없이 처리만 하는 함수도 활용 가능# 매개변수 없는 함수def hello(): print('안녕하세요')# 매개변수 있는 함수def he..

Programming/Python 2025.03.29

[Python] Python 기초 (5) - 제어문(contorl Statements)

[KT] AIVLE SCHOOL 2일차 제어문조건 처리나 반복 처리를 통해 코드의 실행 흐름을 제어 가능Python 제어문은 들여쓰기로 블록을 지정하니 주의조건문 : if 문특정 조건에 맞는 경우에만 코드를 실행하고 싶을 때 사용단순 if 문조건이 참인 경우만 처리, 거짓인 경우는 아무 처리도 하지 않음if (cond) : ~~if ~ else 문조건인 참인 경우와 참이 아닌 경우 각각 처리tip : 처리할 구문이 없거나 이후에 작성할 목적으로 pass를 사용할 수 있음if (cond) : passelse : ~~if ~ elif ~ else 문여러 조건 중에서 참인 경우 각각 처리, 그렇지 않은 경우 처리 if (cond) : ~~elif (cond) : ~~elif (cond) : ~~else :..

Programming/Python 2025.03.29

[Python] Python 기초 (4) - 튜플, 집합, 딕셔너리 자료형

[KT] AIVLE SCHOOL 2일차 튜플(Tuple)튜플은 소괄호( () )를 사용해서 표현리스트와 정말 비슷한 자료형이지만 다음과 같은 차이점이 있음튜플은 한 번 만들면 요소의 값을 바꿀 수 없다.리스트에서는 대괄호를 생략할 수 없지만 튜플에서는 괄호를 생략할 수 있다e.g. score1 = (90, 85, 70) / score1 = 90, 85, 70튜플 만들기빈 튜플  score = () / score = tuple()요소가 하나인 튜플요소가 하나인 튜플을 만들 때는 주의해야함score = (90) X : int 자료형이 된다.요소가 하나인 튜플은 콤마(,)를 추가해서 만들어야 함score = (90,) O외에 다양한 형태, range() 함수를 활용, 문자열로 만드는 경우는 리스트의 경우와 같..

Programming/Python 2025.03.29

[Python] Python 기초 (3) - 리스트 자료형

[KT] AIVLE SCHOOL 2일차 리스트(List) 자료형여러 값을 묶어서 갖는 컨테이너 자료형 중 하나컨테이너 자료형 : 문자열(String), 리스트(List), 튜플(Tuple), 집합(Set), 딕셔너리(Dictionary)대괄호([ ]) 안에 콤마로 구분해 값을 나열하며, 이 값을 요소라고 부름리스트 필요성정수나 실수 등을 갖는 변수는 값 하나 만을 가지기 때문에 많은 데이터 처리가 힘들다.리스트는 여러 값을 요소로 가지기 때문에 많은 데이터 처리가 쉽다.리스트 특징어떠한 자료형도 요소로서 포함이 가능하며 요소 값이 중복될 수도 있음요소가 순서를 가지므로 특정 위치의 요소나 범위의 요소를 확인 가능또다른 리스트를 요소로 포함 가능 (List of List)일반 변수와 리스트일반 변수를 사용..

Programming/Python 2025.03.29

[Python] Python 기초 (2) - 문자열 자료형

[KT] AIVLE SCHOOL 2일차 문자열 자료형Python의 문자열은 많은 편의성과 다양한 기능을 제공문자열 표현작은 따옴표, 또는 큰 따옴표로 묶어서 문자열을 표현변수에 문자열을 대입하여 문자열 변수 선언len() 함수로 문자열 길이 (=포함된 문자 개수)를 확인할 수 있음여러 줄 문자열 표현문자열 앞뒤에 따옴표 세 개를 나열하거나, \n을 사용해 여러 줄 표현이 가능print() 함수를 사용해야 의도한 내용이 제대로 표시e.g.문자열에 따옴표 넣기큰 따옴표 안에 작은 따옴표, 또는 작음 따옴표 안에 큰 따옴표를 사용\' 또는 \"를 사용해도 됨문자열 연산문자열 연산은 숫자 연산과 다름문자열 + 문자열 : 문자열 결합s1 = 'hello's2 = 'world's3 = s1 + ' ' + s2# p..

Programming/Python 2025.03.29

[Python] Python 기초 (1) - 기본 연산자

[KT] AIVLE SCHOOL 2일차 변수(Variables)변수는 값을 담는 그릇 또는 상자라고 할 수 있음이후 연산 등의 재사용 목적을 위해 값을 담아 두는 존재변수에 담은 데이터를 여러가지 방법으로 처리하는 것을 프로그래밍이라고 함변수에 담아진 수 많은 데이터를 분석하는 것이 데이터 분석변수 = 값 형태로 값을 대입하면서 변수를 선언e.g. score = 90type() 함수를 사용하면 데이터 형식을 확인할 수 있음 / e.g. type(score) : int변수 이름은 그 의미를 알 수 있게 적절한 단어를 사용Python에서는 변수에 대입된 값에 의해 변수의 자료형(=데이터 형식)이 결정됨식별자(Identifier)변수 또는 함수 등에 이름을 붙이기 위해 사용하는 단어식별자 규칙키워드를 사용할 ..

Programming/Python 2025.03.29

[Git] Git 실습

[KT] AIVLE SCHOOL 1일차  '생활코딩'의 이고잉 강사님의 Git 강의[KT] AIVLE SCHOOL 첫 날의 강의로는 '생활코딩'의 이고잉 강사님의 Git 강의였다.Git 강의는  VSCode를 활용하여  Git을 학습하기 쉽도록 GUI를 이용한 강의를 진행해주셨다. 버전 관리의 이유 : 디버깅working directory 내용을 과거로 갈 수 있다. 이를 통해 디버깅이 가능vscode로 Git 활용하기 (로컬 저장소)먼저 바탕화면에 'Git1' 이라는 폴더를 생성한다. (폴더 이름은 자유)vscode에서 생성한 폴더 'Git1'를 연다.'Source Control(소스 제어)' 항목에서 'Initialize Repository(저장소 초기화)' 를 누른다.'Initialize Repos..

Programming/Git 2025.03.26