본문 바로가기

프로그래밍 언어

(83)
Socket Programming in C Client-Server 매커니즘 가정 : 서로 다른 네트워크 머신 (M1, M2) 가 상호 소통하는 프로그램을 만들고자 한다. 한 사람이 M1에서 첫번재 프로그램을 시작하면 이 프로그램은 M2에 있는 프로그램으로 메시지를 보낸다. 컴퓨터는 사람보다 빠르기 때문에 M1의 프로그램은 M2로 부터 응답을 받는데 몇 ms 밖에 걸리지 않는다. 두번째 프로그램은 M1으로부터 메시지를 받는데 몇 ms가 걸리고, 첫번째 프로그램이 아직 활성화가 되지 않았다고 결론을 내고 에러 메시지를 보여주고 나간다. 그럼 한쪽은 계속 프로그램을 실행시키더라도 상호소통할 수 없다. Socket 소캣의 개념 호스트의 네트워크 스택에 연결된 어플리케이션을 위한 인터페이스 소켓 API 32-bit 노드 주소 IP address 16-b..
Week5) Java Programming Lab : Inheritance 1. What is Inheritance? 소프트웨어 재사용 형태 객체지향 프로그래밍의 주요 특성 기존의 클래스로부터 새로운 클래스를 만드는 것 : 기존의 클래스 데이터와 메소드를 그대로 흡수하고, 수정이나 새로운 메소드 또는 데이터 등을 추가하여 향상 시킴 중복 코드를 제거하기 위해 사용함 No redundant code general class -> special case class class Animal: // general class - general features move legs speed feed class Dog: // special class, inherits Animal class features fetch ... 2. Subclass and Superclass 자바는 다중상속을 허용..
Java programming 자바 프로그래밍 실습 : Employee Salary Java programming 자바 프로그래밍 실습 : Employee Salary 2021-1 성균관대학교 소프트웨어학과 타메르 교수님의 자바 프로그래밍 실습 수업을 들으면서 수행한 예제입니다. 문제 String firstName, String lastName, double salary를 인스턴스 변수로 갖는 Employee 클래스를 만들어라. 해당 클래스는 constructor와 setter, getter 메소드를 가지고 있어야 한다. 새로운 EmployeeTest 클래스를 만들어서 Employee 객체 두개를 만들고 각각의 salary를 출력하고, 5% 인상된 salary도 다시 출력해라. Employee.java public class Employee { String firstName; Strin..
Java programming 자바 프로그래밍 실습 : Bank Account Class (withdraw, transfer) Java programming 자바 프로그래밍 실습 : Bank Account Class (withdraw, transfer) 2021-1 성균관대학교 소프트웨어학과 타메르 교수님의 자바 프로그래밍 실습 수업을 들으면서 수행한 예제입니다. 문제 BankAccount 클래스는 String firstName, String lastName, double balance를 인스턴스 변수로 갖는다. constructor를 이용해서 인스턴스 변수를 초기화하라 각 인스턴스 변수는 setter, getter 메소드를 갖는다. 클래스는 withdraw(double amount) 메소드를 갖는다. 인출하려는 amount가 BankAccount의 balance 이하이면 인출해서 balance 값을 업데이트하고, amount ..
Java programming 자바 프로그래밍 실습 : Invoice Calculation Java programming 자바 프로그래밍 실습 : Invoice Calculation 2021-1 성균관대학교 소프트웨어학과 타메르 교수님의 자바 프로그래밍 실습 수업을 들으면서 수행한 예제입니다. 문제 String productName, int quantity, double price를 인스턴스 변수로 갖는 Invoice 클래스를 만들어라. 그리고 Invoice 클래스는 invoice의 총 amount를 반환하는 getInvoiceAmount 메소드를 갖는다. 클래스는 constructor로 인스턴스 변수를 초기화한다. 각 인스턴스 변수들은 각각의 getter, setter 메소드를 갖는다. 그리고 InvoiceTest 클래스를 만들어 사용자 입력을 받아 name, quantity, price를 ..
Java Code Conventions Class fields : 인스턴스 변수로 클래스의 속성 properties 를 나타낼 수 있도록 이름을 선언합니다. methods : 클래스 내부의 함수로 클래스가 수행하는 행동 behavior를 나타내는 이름으로 선언합니다. public class ClassName { fieldType fieldName; ... public returnType methodName(){ // ...statements...; return returnType; } } public void someMethod() { // 위에서 선언한 클래스를 objectName이라는 이름을 가진 객체로 선언해서 사용 ClassName objectName = new ClassName(); returnType ret = object.meth..
Week4) Java Programming Lab : Class and Instance (2) Class Constructor 모든 클래스는 반드시 하나 이상의 contructor을 가짐 사용자가 클래스 선언시 구성자를 선언하지 않은 경우 자바 컴파일러가 디폴트 구성자를 만듦 초기에 멤버 변수를 초기화 모든 변수를 초기화하지 않은 경우, 초기화되지 않은 값은 디폴트 값으로 자동 설정 this 모든 객체는 자기 자신을 참조할 때 this 키워드를 사용 2. constructor, set, get example public class StuentData { private String StudentName; private int StudentID; private int StudentAge; // constructor1 - 변수 초기화 public StudentData(){ StudentName = "N..
Java programming 자바 프로그래밍 실습 : 시험 시스템 Java programming 자바 프로그래밍 실습 : 시험 시스템 2021-1 성균관대학교 소프트웨어학과 타메르 교수님의 자바 프로그래밍 실습 수업을 들으면서 수행한 예제입니다. 문제 시험을 자동화하는 프로그램을 개발하라. 시험 문제는 총 5 문제로, 10 미만의 수의 제곱근을 구하는 문제를 출력한다. 총 맞은 개수와 그에 해당하는 피드백을 출력하는 프로그램이다. 피드백 설정 맞힌 개수 피드백 0 Try again. 1 Very Bad. 2 Not Bad. 3 Good. 4 Very Good! 5 Excellent! import java.util.Scanner; import java.util.Random; public class Task3 { public static void main(String[] ..